From e893d905c9aeb3d2d7e6940528028d8f6a465abf Mon Sep 17 00:00:00 2001 From: Harshula Jayasuriya Date: Mon, 28 Sep 2026 14:38:26 +1000 Subject: [PATCH] CI: move to Spack v1.x --- .github/build-ci/data/standard.json | 6 +++--- .github/build-ci/manifests/gcc.spack.yaml.j2 | 6 +++++- .github/build-ci/manifests/intel.spack.yaml.j2 | 7 ++++++- .github/build-ci/manifests/oneapi.spack.yaml.j2 | 8 +++++--- .github/workflows/CI.yml | 12 +++++------- 5 files changed, 24 insertions(+), 15 deletions(-) diff --git a/.github/build-ci/data/standard.json b/.github/build-ci/data/standard.json index bd5c978e9c..649b3c7f16 100644 --- a/.github/build-ci/data/standard.json +++ b/.github/build-ci/data/standard.json @@ -1,6 +1,6 @@ { - "gcc_compiler": "gcc@13.2.0", - "intel_compiler": "intel@2021.10.0", - "oneapi_compiler": "oneapi@2025.2.0", + "gcc_compiler_ver": "13.2.0", + "intel_compiler_ver": "2021.10.0", + "oneapi_compiler_ver": "2025.2.0", "target": "x86_64" } diff --git a/.github/build-ci/manifests/gcc.spack.yaml.j2 b/.github/build-ci/manifests/gcc.spack.yaml.j2 index 91e6f98e3c..828035a145 100644 --- a/.github/build-ci/manifests/gcc.spack.yaml.j2 +++ b/.github/build-ci/manifests/gcc.spack.yaml.j2 @@ -3,9 +3,13 @@ spack: - access-fms @git.{{ ref }} ~large_file - access-fms @git.{{ ref }} +large_file packages: + gcc: + require: + - '@{{ gcc_compiler_ver }}' all: require: - - '%{{ gcc_compiler }} target={{ target}}' + - '%access_gcc' + - 'target={{ target }}' concretizer: unify: false view: false diff --git a/.github/build-ci/manifests/intel.spack.yaml.j2 b/.github/build-ci/manifests/intel.spack.yaml.j2 index 1f8aa3e139..5a912ce498 100644 --- a/.github/build-ci/manifests/intel.spack.yaml.j2 +++ b/.github/build-ci/manifests/intel.spack.yaml.j2 @@ -3,9 +3,14 @@ spack: - access-fms @git.{{ ref }} ~large_file - access-fms @git.{{ ref }} +large_file packages: + intel-oneapi-compilers-classic: + require: + - '@{{ intel_compiler_ver }}' all: require: - - '%{{ intel_compiler }} target={{ target}}' + - '%access_intel' + prefer: + - 'target={{ target }}' concretizer: unify: false view: false diff --git a/.github/build-ci/manifests/oneapi.spack.yaml.j2 b/.github/build-ci/manifests/oneapi.spack.yaml.j2 index d3003ddcfa..b2860ba282 100644 --- a/.github/build-ci/manifests/oneapi.spack.yaml.j2 +++ b/.github/build-ci/manifests/oneapi.spack.yaml.j2 @@ -3,12 +3,14 @@ spack: - access-fms @git.{{ ref }} ~large_file - access-fms @git.{{ ref }} +large_file packages: - gcc-runtime: + intel-oneapi-compilers: require: - - '%gcc target={{ target }}' + - '@{{ oneapi_compiler_ver }}' all: require: - - '%{{ oneapi_compiler }} target={{ target}}' + - '%access_oneapi' + prefer: + - 'target={{ target }}' concretizer: unify: false view: false diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 956720fa36..1e57a65519 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -20,20 +20,18 @@ jobs: run: | files=$(find .github/build-ci/manifests/ -iname '*.j2' -printf '"%p",') echo "matrix=[${files%,}]" >> $GITHUB_OUTPUT - ci: name: CI needs: pre-ci strategy: fail-fast: false - max-parallel: 5 + max-parallel: 3 matrix: file: ${{ fromJson(needs.pre-ci.outputs.matrix) }} - uses: access-nri/build-ci/.github/workflows/ci.yml@v2 + uses: access-nri/build-ci/.github/workflows/ci.yml@v3 with: spack-manifest-path: ${{ matrix.file }} - allow-ssh-into-spack-install: false # If true, PR author must ssh into instance to complete job spack-manifest-data-path: .github/build-ci/data/standard.json - # spack-packages-ref: main - # spack-config-ref: main - # spack-ref: releases/v0.22 + allow-ssh-into-spack-install: false # If true, PR author must ssh into instance to complete job + # Default args (including explicit spack/spack-packages/spack-config versions) + # are specified in https://github.com/ACCESS-NRI/build-ci/tree/v3/.github/workflows#inputs