diff --git a/.github/build-ci/data/standard.json b/.github/build-ci/data/standard.json index f3311d5..6edcaa4 100644 --- a/.github/build-ci/data/standard.json +++ b/.github/build-ci/data/standard.json @@ -1,7 +1,7 @@ { - "gcc_compiler": "gcc@13.2.0", - "intel_compiler": "intel@2021.10.0", - "oneapi_compiler": "oneapi@2025.2.0", + "gcc_compiler_version": "13.2.0", + "intel_compiler_version": "2021.10.0", + "oneapi_compiler_version": "2025.2.0", "target": "x86_64", "all_configurations": "MOM6,CICE6,WW3,MOM6-WW3,MOM6-CICE6,CICE6-WW3,MOM6-CICE6-WW3" } diff --git a/.github/build-ci/manifests/gcc.spack.yaml.j2 b/.github/build-ci/manifests/gcc.spack.yaml.j2 index 2c97560..e77d788 100644 --- a/.github/build-ci/manifests/gcc.spack.yaml.j2 +++ b/.github/build-ci/manifests/gcc.spack.yaml.j2 @@ -5,9 +5,13 @@ spack: access3-share: require: '@git.{{ ref }}=stable' + gcc: + require: + - '@{{ gcc_compiler_version }}' all: require: - - '%{{ gcc_compiler }} target={{ target }}' + - '%access_gcc' + - target={{ target }} concretizer: unify: false view: false diff --git a/.github/build-ci/manifests/intel-libonly.spack.yaml.j2 b/.github/build-ci/manifests/intel-libonly.spack.yaml.j2 index 0628fde..51debcf 100644 --- a/.github/build-ci/manifests/intel-libonly.spack.yaml.j2 +++ b/.github/build-ci/manifests/intel-libonly.spack.yaml.j2 @@ -3,9 +3,18 @@ spack: - access3-share @git.{{ ref }}=stable - access3-share @git.{{ ref }}=stable +openmp packages: + # We pin a version of python as spack v1.1 has trouble building the default latest + # python@3.14.3%intel@2021.10.0 due to a segfault. + python: + require: + - '@3.11.14' + intel-oneapi-compilers-classic: + require: + - '@{{ intel_compiler_version }}' all: require: - - '%{{ intel_compiler }} target={{ target }}' + - '%access_intel' + - 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 5dcba1d..56917de 100644 --- a/.github/build-ci/manifests/intel.spack.yaml.j2 +++ b/.github/build-ci/manifests/intel.spack.yaml.j2 @@ -5,9 +5,18 @@ spack: access3-share: require: '@git.{{ ref }}=stable' + # We pin a version of python as spack v1.1 has trouble building the default latest + # python@3.14.3%intel@2021.10.0 due to a segfault. + python: + require: + - '@3.11.14' + intel-oneapi-compilers-classic: + require: + - '@{{ intel_compiler_version }}' all: require: - - '%{{ intel_compiler }} target={{ target }}' + - '%access_intel' + - 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 e6fe871..7cd2cd3 100644 --- a/.github/build-ci/manifests/oneapi.spack.yaml.j2 +++ b/.github/build-ci/manifests/oneapi.spack.yaml.j2 @@ -7,10 +7,14 @@ spack: '@git.{{ ref }}=stable' gcc-runtime: require: - '%gcc' + '%access_gcc' + intel-oneapi-compilers: + require: + - '@{{ oneapi_compiler_version }}' all: require: - - '%{{ oneapi_compiler }} target={{ target }}' + - '%access_oneapi' + - target={{ target }} concretizer: unify: false view: false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fddaf66..378fe0e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,11 +30,10 @@ jobs: max-parallel: 5 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 + # 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