diff --git a/.github/build-ci/data/standard.json b/.github/build-ci/data/standard.json index 3aa9594d95..0022304fce 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_version": "13.2.0", + "intel_compiler_version": "2021.10.0", + "oneapi_compiler_version": "2025.2.0", "target": "x86_64" } diff --git a/.github/build-ci/manifests/gcc-no-access3.spack.yaml.j2 b/.github/build-ci/manifests/gcc-no-access3.spack.yaml.j2 index 9124829a9b..57fac0272d 100644 --- a/.github/build-ci/manifests/gcc-no-access3.spack.yaml.j2 +++ b/.github/build-ci/manifests/gcc-no-access3.spack.yaml.j2 @@ -2,9 +2,13 @@ spack: specs: - access-ww3 @git.{{ ref }} ~access3 packages: + 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-access3.spack.yaml.j2 b/.github/build-ci/manifests/intel-access3.spack.yaml.j2 index 4c488eaf92..149eb729ef 100644 --- a/.github/build-ci/manifests/intel-access3.spack.yaml.j2 +++ b/.github/build-ci/manifests/intel-access3.spack.yaml.j2 @@ -2,9 +2,18 @@ spack: specs: - access-ww3 @git.{{ ref }} +access3 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-no-access3.spack.yaml.j2 b/.github/build-ci/manifests/intel-no-access3.spack.yaml.j2 index 8596347c63..7640cfbfd7 100644 --- a/.github/build-ci/manifests/intel-no-access3.spack.yaml.j2 +++ b/.github/build-ci/manifests/intel-no-access3.spack.yaml.j2 @@ -2,9 +2,13 @@ spack: specs: - access-ww3 @git.{{ ref }} ~access3 packages: + 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-access3.spack.yaml.j2 b/.github/build-ci/manifests/oneapi-access3.spack.yaml.j2 index bfa80ecd56..ce7f7e3782 100644 --- a/.github/build-ci/manifests/oneapi-access3.spack.yaml.j2 +++ b/.github/build-ci/manifests/oneapi-access3.spack.yaml.j2 @@ -5,10 +5,15 @@ spack: packages: gcc-runtime: require: - - '%gcc target={{ target }}' + - '%access_gcc' + - target={{ target }} + 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/build-ci/manifests/oneapi-no-access3.spack.yaml.j2 b/.github/build-ci/manifests/oneapi-no-access3.spack.yaml.j2 index 0d5d1e7ef5..8c875f2274 100644 --- a/.github/build-ci/manifests/oneapi-no-access3.spack.yaml.j2 +++ b/.github/build-ci/manifests/oneapi-no-access3.spack.yaml.j2 @@ -5,10 +5,15 @@ spack: packages: gcc-runtime: require: - - '%gcc target={{ target }}' + - '%access_gcc' + - target={{ target }} + 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 fddaf66a15..378fe0e708 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