|
| 1 | +############################################################################### |
| 2 | +############## Warning this is a generated file---do not modify ############### |
| 3 | +############################################################################### |
| 4 | + |
| 5 | +name: PR tests (clang-11, ubuntu, mpich) |
| 6 | + |
| 7 | +trigger: |
| 8 | + branches: |
| 9 | + include: |
| 10 | + - develop |
| 11 | + - 1.0.0* |
| 12 | + |
| 13 | +pr: |
| 14 | + branches: |
| 15 | + include: |
| 16 | + - '*' |
| 17 | + |
| 18 | + |
| 19 | +resources: |
| 20 | +- repo: self |
| 21 | + |
| 22 | +variables: |
| 23 | + tag: '$(Build.BuildId)' |
| 24 | + REPO: lifflander1/vt |
| 25 | + ARCH: amd64 |
| 26 | + UBUNTU: 22.04 |
| 27 | + COMPILER_TYPE: clang |
| 28 | + COMPILER: clang-11 |
| 29 | + BUILD_TYPE: release |
| 30 | + ULIMIT_CORE: 0 |
| 31 | + CODE_COVERAGE: 0 |
| 32 | + VT_LB: 1 |
| 33 | + VT_TRACE: 0 |
| 34 | + VT_TRACE_RT: 0 |
| 35 | + VT_TRACE_ONLY: 1 |
| 36 | + VT_MIMALLOC: 0 |
| 37 | + VT_DOCS: 0 |
| 38 | + VT_ASAN: 0 |
| 39 | + VT_UBSAN: 0 |
| 40 | + VT_WERROR: 1 |
| 41 | + VT_POOL: 1 |
| 42 | + VT_EXTENDED_TESTS: 1 |
| 43 | + VT_TESTS_NUM_NODES: 2 |
| 44 | + VT_UNITY_BUILD: 1 |
| 45 | + VT_PRODUCTION_BUILD: 0 |
| 46 | + VT_FCONTEXT: 0 |
| 47 | + VT_USE_OPENMP: 0 |
| 48 | + VT_USE_STD_THREAD: 0 |
| 49 | + VT_ZOLTAN: 0 |
| 50 | + VT_CI_BUILD: 1 |
| 51 | + VT_DIAGNOSTICS: 1 |
| 52 | + VT_NO_COLOR: 1 |
| 53 | + VT_BUILD_SHARED_LIBS: 0 |
| 54 | + VT_INCLUSION: TPL |
| 55 | + CACHE: "$(Agent.TempDirectory)/cache/" |
| 56 | + cache_name: ubuntu-clang-11-cache |
| 57 | + build_root: "$(CACHE)/$(ARCH)-ubuntu-$(UBUNTU)-$(COMPILER)-cache/" |
| 58 | + TS: 0 |
| 59 | + TS_YEAR: 0 |
| 60 | + TS_MONTH: 0 |
| 61 | + TS_DAY: 0 |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | +stages: |
| 66 | +- stage: Build |
| 67 | + displayName: Build image |
| 68 | + jobs: |
| 69 | + - job: Build |
| 70 | + displayName: Build |
| 71 | + pool: |
| 72 | + vmImage: 'ubuntu-18.04' |
| 73 | + timeoutInMinutes: 180 |
| 74 | + steps: |
| 75 | + - task: Bash@3 |
| 76 | + displayName: Job setup |
| 77 | + inputs: |
| 78 | + targetType: 'inline' |
| 79 | + script: | |
| 80 | + echo setup |
| 81 | + - task: Bash@3 |
| 82 | + displayName: Build timestamp for caching |
| 83 | + continueOnError: true |
| 84 | + inputs: |
| 85 | + targetType: 'inline' |
| 86 | + script: | |
| 87 | + echo 'string(TIMESTAMP current_date "%H;%M;%S" UTC)' > script |
| 88 | + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script |
| 89 | + val=$(cmake -P script) |
| 90 | + echo "##vso[task.setvariable variable=TS]$val" |
| 91 | + echo 'string(TIMESTAMP current_date "%Y" UTC)' > script |
| 92 | + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script |
| 93 | + val=$(cmake -P script) |
| 94 | + echo "##vso[task.setvariable variable=TS_YEAR]$val" |
| 95 | + echo 'string(TIMESTAMP current_date "%m" UTC)' > script |
| 96 | + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script |
| 97 | + val=$(cmake -P script) |
| 98 | + echo "##vso[task.setvariable variable=TS_MONTH]$val" |
| 99 | + echo 'string(TIMESTAMP current_date "%d" UTC)' > script |
| 100 | + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script |
| 101 | + val=$(cmake -P script) |
| 102 | + echo "##vso[task.setvariable variable=TS_DAY]$val" |
| 103 | + - task: Bash@3 |
| 104 | + displayName: Output timestamp for caching |
| 105 | + continueOnError: true |
| 106 | + condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') |
| 107 | + inputs: |
| 108 | + targetType: 'inline' |
| 109 | + script: 'echo "my pipeline variable is $(TS) $(TS_YEAR) $(TS_MONTH) $(TS_DAY)"' |
| 110 | + - task: Cache@2 |
| 111 | + displayName: Update cache |
| 112 | + continueOnError: true |
| 113 | + condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') |
| 114 | + inputs: |
| 115 | + securityNamespace: cache |
| 116 | + key: $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) | $(TS) |
| 117 | + path: '$(build_root)/ccache' |
| 118 | + restoreKeys: | |
| 119 | + $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) |
| 120 | + $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) |
| 121 | + $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) |
| 122 | + $(Agent.OS) | "$(cache_name)" |
| 123 | + - task: Bash@3 |
| 124 | + displayName: Check for changes in containers |
| 125 | + condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') |
| 126 | + inputs: |
| 127 | + targetType: 'inline' |
| 128 | + script: | |
| 129 | + val=$(./scripts/check_containers.sh) |
| 130 | + echo "##vso[task.setvariable variable=compose_command]$val" |
| 131 | + - task: DockerCompose@0 |
| 132 | + displayName: Pull container |
| 133 | + inputs: |
| 134 | + containerregistrytype: 'Container Registry' |
| 135 | + dockerComposeFile: '**/docker-compose.yml' |
| 136 | + action: 'Run a Docker Compose command' |
| 137 | + dockerComposeCommand: '$(compose_command) ubuntu-cpp-clean' |
| 138 | + - task: DockerCompose@0 |
| 139 | + displayName: Build container |
| 140 | + inputs: |
| 141 | + containerregistrytype: 'Container Registry' |
| 142 | + dockerComposeFile: '**/docker-compose.yml' |
| 143 | + action: 'Run a Docker Compose command' |
| 144 | + dockerComposeCommand: 'run ubuntu-cpp-clean' |
| 145 | + env: |
| 146 | + CODECOV_TOKEN: $(codecov_token) |
| 147 | + - task: Bash@3 |
| 148 | + displayName: Put compilation's and tests' logs in PR comment |
| 149 | + continueOnError: true |
| 150 | + condition: and(succeededOrFailed(), eq(variables['Build.Reason'], 'PullRequest')) |
| 151 | + inputs: |
| 152 | + targetType: 'inline' |
| 153 | + script: | |
| 154 | + ./scripts/report_logs_in_comment.sh \ |
| 155 | + "$(build_root)/vt/compilation_errors_warnings.out" \ |
| 156 | + "$(build_root)/vt/cmake-output.log" \ |
| 157 | + "$(Build.BuildNumber)" \ |
| 158 | + "$(System.PullRequest.PullRequestNumber)" \ |
| 159 | + "$(Build.Repository.Name)" \ |
| 160 | + "$GITHUB_PAT" \ |
| 161 | + "$(Build.BuildId)" \ |
| 162 | + "$(System.JobId)" \ |
| 163 | + "$(Agent.JobStatus)" |
| 164 | + env: |
| 165 | + GITHUB_PAT: $(github_pat) |
| 166 | + - task: DockerCompose@0 |
| 167 | + displayName: Push container to registry |
| 168 | + continueOnError: true |
| 169 | + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop')) |
| 170 | + inputs: |
| 171 | + containerregistrytype: 'Container Registry' |
| 172 | + dockerRegistryEndpoint: 'dockerRegistryConnection1' |
| 173 | + dockerComposeFile: '**/docker-compose.yml' |
| 174 | + action: 'Run a Docker Compose command' |
| 175 | + dockerComposeCommand: 'push ubuntu-cpp-clean' |
| 176 | + - task: Bash@3 |
| 177 | + displayName: Create artifacts |
| 178 | + continueOnError: true |
| 179 | + condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') |
| 180 | + inputs: |
| 181 | + targetType: 'inline' |
| 182 | + script: | |
| 183 | + zip -j $(Agent.TempDirectory)/LastTest.log.gz $(build_root)/vt/Testing/Temporary/LastTest.log |
| 184 | + zip -j $(Agent.TempDirectory)/cmake-output.log.gz $(build_root)/vt/cmake-output.log |
| 185 | + - task: PublishPipelineArtifact@1 |
| 186 | + displayName: Upload CMake test output artifact |
| 187 | + continueOnError: true |
| 188 | + condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') |
| 189 | + inputs: |
| 190 | + targetPath: '$(Agent.TempDirectory)/LastTest.log.gz' |
| 191 | + artifact: 'CMakeLastTestLog' |
| 192 | + publishLocation: 'pipeline' |
| 193 | + - task: PublishPipelineArtifact@1 |
| 194 | + displayName: Upload CMake full output artifact |
| 195 | + continueOnError: true |
| 196 | + condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') |
| 197 | + inputs: |
| 198 | + targetPath: '$(Agent.TempDirectory)/cmake-output.log.gz' |
| 199 | + artifact: 'CMakeOutputLog' |
| 200 | + publishLocation: 'pipeline' |
| 201 | + - task: Bash@3 |
| 202 | + displayName: Finish pipeline |
| 203 | + condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') |
| 204 | + inputs: |
| 205 | + targetType: 'inline' |
| 206 | + script: | |
| 207 | + echo Done |
0 commit comments