diff --git a/.azuredevops/dependencies/catch2.yml b/.azuredevops/dependencies/catch2.yml new file mode 100644 index 000000000..aaf1d41be --- /dev/null +++ b/.azuredevops/dependencies/catch2.yml @@ -0,0 +1,63 @@ +parameters: +- name: checkoutRepo + type: string + default: 'self' +- name: checkoutRef + type: string + default: '' +- name: catch2Version + type: string + default: '' +- name: aptPackages + type: object + default: + - cmake + - git + - ninja-build + +- name: jobMatrix + type: object + default: + buildJobs: + - { os: ubuntu2204, packageManager: apt} + - { os: almalinux8, packageManager: dnf} + +jobs: +- ${{ each job in parameters.jobMatrix.buildJobs }}: + - job: catch2_${{ job.os }} + variables: + - group: common + - template: /.azuredevops/variables-global.yml + pool: + vmImage: 'ubuntu-22.04' + ${{ if eq(job.os, 'almalinux8') }}: + container: + image: rocmexternalcicd.azurecr.io/manylinux228:latest + endpoint: ContainerService3 + workspace: + clean: all + steps: + - checkout: none + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml + parameters: + aptPackages: ${{ parameters.aptPackages }} + packageManager: ${{ job.packageManager }} + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml + - task: Bash@3 + displayName: Clone catch2 ${{ parameters.catch2Version }} + inputs: + targetType: inline + script: git clone https://github.com/catchorg/Catch2.git -b ${{ parameters.catch2Version }} + workingDirectory: $(Agent.BuildDirectory) + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml + parameters: + os: ${{ job.os }} + cmakeBuildDir: $(Agent.BuildDirectory)/Catch2/build + cmakeSourceDir: $(Agent.BuildDirectory)/Catch2 + useAmdclang: false + extraBuildFlags: >- + -DCMAKE_BUILD_TYPE=Release + -GNinja + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml + parameters: + os: ${{ job.os }} diff --git a/.azuredevops/tag-builds/catch2.yml b/.azuredevops/tag-builds/catch2.yml new file mode 100644 index 000000000..ded20ab86 --- /dev/null +++ b/.azuredevops/tag-builds/catch2.yml @@ -0,0 +1,23 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml + +parameters: +- name: catch2Version + type: string + default: "v3.7.0" + +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + +trigger: none +pr: none + +jobs: + - template: ${{ variables.CI_DEPENDENCIES_PATH }}/catch2.yml + parameters: + catch2Version: ${{ parameters.catch2Version }} diff --git a/.azuredevops/templates/steps/dependencies-vendor.yml b/.azuredevops/templates/steps/dependencies-vendor.yml index 615adafd8..10086e38e 100644 --- a/.azuredevops/templates/steps/dependencies-vendor.yml +++ b/.azuredevops/templates/steps/dependencies-vendor.yml @@ -8,11 +8,13 @@ parameters: type: object default: boost: 250 + catch2: 343 fmtlib: 341 grpc: 72 gtest: 73 half560: 68 lapack: 69 + libdivide: 342 spdlog: 340 steps: @@ -31,7 +33,7 @@ steps: inputs: archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz' destinationFolder: $(Agent.BuildDirectory)/vendor - cleanDestinationFolder: true + cleanDestinationFolder: false overwriteExistingFiles: true - task: DeleteFiles@1 displayName: Clean up ${{ dependency }}