Skip to content

Commit

Permalink
#2302: Add clang workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
pierrepebay committed Dec 12, 2024
1 parent 87d1af5 commit 8c8c3fa
Show file tree
Hide file tree
Showing 4 changed files with 451 additions and 0 deletions.
218 changes: 218 additions & 0 deletions ci/azure/azure-clang-14-ubuntu-mpich-papi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
###############################################################################
############## Warning this is a generated file---do not modify ###############
###############################################################################

name: PR tests (clang-14, ubuntu, mpich, verbose, papi)

trigger:
branches:
include:
- develop
- main

pr:
drafts: false
autoCancel: true
branches:
include:
- '*'


resources:
- repo: self

variables:
tag: '$(Build.BuildId)'
REPO: lifflander1/vt
ARCH: amd64
UBUNTU: 22.04
COMPILER_TYPE: clang
COMPILER: clang-14
HOST_COMPILER: clang-14
BUILD_TYPE: release
ULIMIT_CORE: 0
VT_CODE_COVERAGE: 0
VT_LB: 1
VT_TRACE: 1
VT_TRACE_RT: 0
VT_TRACE_ONLY: 1
VT_MIMALLOC: 0
VT_DOCS: 0
VT_ASAN: 0
VT_UBSAN: 0
VT_WERROR: 1
VT_POOL: 1
VT_EXTENDED_TESTS: 1
VT_TESTS_NUM_NODES: 2
VT_EXTERNAL_FMT: 0
VT_UNITY_BUILD: 1
VT_PRODUCTION_BUILD: 0
VT_FCONTEXT: 0
VT_ZOLTAN: 0
VT_CI_BUILD: 1
VT_DIAGNOSTICS: 1
VT_NO_COLOR: 1
VT_BUILD_SHARED_LIBS: 0
VT_INCLUSION: TPL
VT_DEBUG_VERBOSE: 1
VT_KOKKOS_ENABLED: 0
VT_TV_ENABLED: 0
VT_PERF_ENABLED: 0
VT_PAPI_ENABLED: 0
CMAKE_CXX_STANDARD: 17
VT_CI_TEST_LB_SCHEMA: 0
RUN_FULL_CI: true
CACHE: "$(Agent.TempDirectory)/cache/"
cache_name: ubuntu-clang-14-cache
volume_name: ubuntu-cpp
build_root: "$(CACHE)$(ARCH)-ubuntu-$(UBUNTU)-$(HOST_COMPILER)-$(COMPILER)-cache/"
TS: 0
TS_YEAR: 0
TS_MONTH: 0
TS_DAY: 0



stages:
- stage: Build
displayName: Build image
jobs:
- job: Build
displayName: Build
pool:
vmImage: 'ubuntu-22.04'
timeoutInMinutes: 180
steps:
- checkout: self
fetchDepth: 0
- task: Bash@3
displayName: Build timestamp for caching
continueOnError: true
condition: eq(variables['RUN_FULL_CI'], 'true')
inputs:
targetType: 'inline'
script: |
echo 'string(TIMESTAMP current_date "%H;%M;%S" UTC)' > script
echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script
val=$(cmake -P script)
echo "##vso[task.setvariable variable=TS]$val"
echo 'string(TIMESTAMP current_date "%Y" UTC)' > script
echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script
val=$(cmake -P script)
echo "##vso[task.setvariable variable=TS_YEAR]$val"
echo 'string(TIMESTAMP current_date "%m" UTC)' > script
echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script
val=$(cmake -P script)
echo "##vso[task.setvariable variable=TS_MONTH]$val"
echo 'string(TIMESTAMP current_date "%d" UTC)' > script
echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script
val=$(cmake -P script)
echo "##vso[task.setvariable variable=TS_DAY]$val"
- task: Bash@3
displayName: Output timestamp for caching
continueOnError: true
condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues'))
inputs:
targetType: 'inline'
script: 'echo "my pipeline variable is $(TS) $(TS_YEAR) $(TS_MONTH) $(TS_DAY)"'
- task: Cache@2
displayName: Update cache
continueOnError: true
condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues'))
inputs:
securityNamespace: cache
key: $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) | $(TS)
path: '$(build_root)$(volume_name)/ccache'
restoreKeys: |
$(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY)
$(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH)
$(Agent.OS) | "$(cache_name)" | $(TS_YEAR)
$(Agent.OS) | "$(cache_name)"
- task: Bash@3
displayName: Check for changes in containers
condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')
inputs:
targetType: 'inline'
script: |
val=$(./scripts/check_containers.sh)
echo "##vso[task.setvariable variable=compose_command]$val"
- task: DockerCompose@1
displayName: Pull container
inputs:
projectName: darma-tasking-vt
containerregistrytype: 'Container Registry'
dockerComposeFile: '**/docker-compose.yml'
action: 'Run a Docker Compose command'
dockerComposeCommand: '$(compose_command) ubuntu-cpp-clean'
- task: DockerCompose@1
displayName: Build container
inputs:
projectName: darma-tasking-vt
containerregistrytype: 'Container Registry'
dockerComposeFile: '**/docker-compose.yml'
action: 'Run a Docker Compose command'
dockerComposeCommand: 'run ubuntu-cpp-clean'
env:
CODECOV_TOKEN: $(codecov_token)
- task: Bash@3
displayName: Put compilation's and tests' logs in PR comment
continueOnError: true
condition: and(eq(variables['RUN_FULL_CI'], 'true'), and(succeededOrFailed(), eq(variables['Build.Reason'], 'PullRequest')))
inputs:
targetType: 'inline'
script: |
./scripts/report_logs_in_comment.sh \
"$(build_root)$(volume_name)/vt/compilation_errors_warnings.out" \
"$(build_root)$(volume_name)/vt/cmake-output.log" \
"$(Build.BuildNumber)" \
"$(System.PullRequest.PullRequestNumber)" \
"$(Build.Repository.Name)" \
"$GITHUB_PAT" \
"$(Build.BuildId)" \
"$(System.JobId)" \
"$(Agent.JobStatus)"
env:
GITHUB_PAT: $(github_pat)
- task: DockerCompose@1
displayName: Push container to registry
continueOnError: true
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))
inputs:
projectName: darma-tasking-vt
containerregistrytype: 'Container Registry'
dockerRegistryEndpoint: 'dockerRegistryConnection1'
dockerComposeFile: '**/docker-compose.yml'
action: 'Run a Docker Compose command'
dockerComposeCommand: 'push ubuntu-cpp-clean'
- task: Bash@3
displayName: Create artifacts
continueOnError: true
condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues'))
inputs:
targetType: 'inline'
script: |
zip -j $(Agent.TempDirectory)/LastTest.log.gz $(build_root)$(volume_name)/vt/Testing/Temporary/LastTest.log
zip -j $(Agent.TempDirectory)/cmake-output.log.gz $(build_root)$(volume_name)/vt/cmake-output.log
- task: PublishPipelineArtifact@1
displayName: Upload CMake test output artifact
continueOnError: true
condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues'))
inputs:
targetPath: '$(Agent.TempDirectory)/LastTest.log.gz'
artifact: 'CMakeLastTestLog'
publishLocation: 'pipeline'
- task: PublishPipelineArtifact@1
displayName: Upload CMake full output artifact
continueOnError: true
condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues'))
inputs:
targetPath: '$(Agent.TempDirectory)/cmake-output.log.gz'
artifact: 'CMakeOutputLog'
publishLocation: 'pipeline'
- task: Bash@3
displayName: Finish pipeline
condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')
inputs:
targetType: 'inline'
script: |
echo Done
Loading

0 comments on commit 8c8c3fa

Please sign in to comment.