From 1b2411d9b8a42259ea4a322e02fe5b8845d590e8 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Mon, 17 Nov 2025 16:00:16 +1100 Subject: [PATCH 1/6] infra: Update to v3, revert changes from temp v2 fix --- .github/workflows/ci.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 849f76700..e98d4807d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,14 +12,15 @@ jobs: spack-manifest-path: - .github/build-ci/manifests/gcc.spack.yaml.j2 - .github/build-ci/manifests/intel.spack.yaml.j2 - uses: access-nri/build-ci/.github/workflows/ci-github-hosted.yml@v2 + uses: access-nri/build-ci/.github/workflows/ci-github-hosted.yml@v3 with: spack-manifest-path: ${{ matrix.spack-manifest-path }} - spack-config-ref: 2025.11.000 # Before build-ci@v2-breaking change to spack-config, don't go any further forward! - spack-packages-ref: api-v2 # This branch contains the package defs compatible with spack >=1.0. May be incorporated into the main branch - spack-ref: releases/v1.0 + # spack-config-ref: main + # builtin-spack-packages-ref: main + # access-spack-packages-ref: api-v2 + # spack-ref: releases/v1.0 allow-ssh-into-spack-install: false - container-image-version: :rocky-v1.0-2025.09.000 # https://github.com/ACCESS-NRI/build-ci/pkgs/container/build-ci-upstream/501398004?tag=rocky-v1.0-2025.09.000 + container-image-version: :rocky-v1.0-2025.11.001 # https://github.com/ACCESS-NRI/build-ci/pkgs/container/build-ci-upstream/572613242?tag=rocky-v1.0-2025.11.001 spack-oci-buildcache-url: oci://ghcr.io/CABLE-LSM/build-ci-buildcache # https://github.com/CABLE-LSM/CABLE/pkgs/container/build-ci-buildcache permissions: packages: write From d4964ccba57400d7bd16c478c084073eac380767 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Tue, 9 Dec 2025 15:51:36 +1100 Subject: [PATCH 2/6] Use run-self-hosted:false for ci.yml, update args --- .github/workflows/ci.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e98d4807d..3f2a58d9b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,15 +12,17 @@ jobs: spack-manifest-path: - .github/build-ci/manifests/gcc.spack.yaml.j2 - .github/build-ci/manifests/intel.spack.yaml.j2 - uses: access-nri/build-ci/.github/workflows/ci-github-hosted.yml@v3 + uses: access-nri/build-ci/.github/workflows/ci.yml@v3 with: spack-manifest-path: ${{ matrix.spack-manifest-path }} # spack-config-ref: main - # builtin-spack-packages-ref: main + # builtin-spack-packages-ref: develop # access-spack-packages-ref: api-v2 - # spack-ref: releases/v1.0 + # spack-ref: releases/v1.1 allow-ssh-into-spack-install: false - container-image-version: :rocky-v1.0-2025.11.001 # https://github.com/ACCESS-NRI/build-ci/pkgs/container/build-ci-upstream/572613242?tag=rocky-v1.0-2025.11.001 spack-oci-buildcache-url: oci://ghcr.io/CABLE-LSM/build-ci-buildcache # https://github.com/CABLE-LSM/CABLE/pkgs/container/build-ci-buildcache + # container-image-version: :rocky # https://github.com/ACCESS-NRI/build-ci/pkgs/container/build-ci-upstream/572613242?tag=rocky + # Since CABLE-LSM can't access ACCESS-NRI's self-hosted runners, we use a GitHub-hosted version + run-self-hosted: false permissions: packages: write From e3457d33a79078fe49741c1d6d48508a3738e681 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Wed, 10 Dec 2025 14:00:02 +1100 Subject: [PATCH 3/6] Remove commented defaults, add link to docs --- .github/workflows/ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f2a58d9b..1bf309c52 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,14 +14,10 @@ jobs: - .github/build-ci/manifests/intel.spack.yaml.j2 uses: access-nri/build-ci/.github/workflows/ci.yml@v3 with: + # For defaults for args not specified here (eg. spack/packages/config refs), see https://github.com/ACCESS-NRI/build-ci/blob/v3/.github/workflows/README.md spack-manifest-path: ${{ matrix.spack-manifest-path }} - # spack-config-ref: main - # builtin-spack-packages-ref: develop - # access-spack-packages-ref: api-v2 - # spack-ref: releases/v1.1 allow-ssh-into-spack-install: false spack-oci-buildcache-url: oci://ghcr.io/CABLE-LSM/build-ci-buildcache # https://github.com/CABLE-LSM/CABLE/pkgs/container/build-ci-buildcache - # container-image-version: :rocky # https://github.com/ACCESS-NRI/build-ci/pkgs/container/build-ci-upstream/572613242?tag=rocky # Since CABLE-LSM can't access ACCESS-NRI's self-hosted runners, we use a GitHub-hosted version run-self-hosted: false permissions: From b98c12f38974eeb27b9bbdbd8dcaab36828bbb1c Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Wed, 10 Dec 2025 14:02:20 +1100 Subject: [PATCH 4/6] Update manifests to be in line with spack v1.1 --- .github/build-ci/manifests/gcc.spack.yaml.j2 | 5 ++++- .github/build-ci/manifests/intel.spack.yaml.j2 | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/build-ci/manifests/gcc.spack.yaml.j2 b/.github/build-ci/manifests/gcc.spack.yaml.j2 index d1dab8b3d..0a19b84dc 100644 --- a/.github/build-ci/manifests/gcc.spack.yaml.j2 +++ b/.github/build-ci/manifests/gcc.spack.yaml.j2 @@ -2,9 +2,12 @@ spack: specs: - cable@git.{{ ref }} packages: + gcc: + require: + - '@13.2.0' all: require: - - '%gcc@13.2.0' + - '%access_gcc' - target=x86_64 concretizer: unify: false diff --git a/.github/build-ci/manifests/intel.spack.yaml.j2 b/.github/build-ci/manifests/intel.spack.yaml.j2 index a4ffc1b83..d5d26477d 100644 --- a/.github/build-ci/manifests/intel.spack.yaml.j2 +++ b/.github/build-ci/manifests/intel.spack.yaml.j2 @@ -2,9 +2,12 @@ spack: specs: - cable@git.{{ ref }} packages: + intel-oneapi-compilers-classic: + require: + - '@2021.10.0' all: require: - - '%intel@2021.10.0' + - '%access_intel' - target=x86_64 concretizer: unify: false From 84326df6012000eb47b73c634a1af0674d1c7a4e Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Mon, 5 Jan 2026 09:44:35 +1100 Subject: [PATCH 5/6] Specify python version for intel manifests --- .github/build-ci/manifests/intel.spack.yaml.j2 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/build-ci/manifests/intel.spack.yaml.j2 b/.github/build-ci/manifests/intel.spack.yaml.j2 index d5d26477d..47559d82b 100644 --- a/.github/build-ci/manifests/intel.spack.yaml.j2 +++ b/.github/build-ci/manifests/intel.spack.yaml.j2 @@ -2,6 +2,9 @@ spack: specs: - cable@git.{{ ref }} packages: + python: + require: + - '@3.11.14' intel-oneapi-compilers-classic: require: - '@2021.10.0' From 28cb98064347687f07ce5818b4d8cac111bfcf58 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Mon, 12 Jan 2026 13:39:47 +1100 Subject: [PATCH 6/6] Test out test build-ci branch in which the runner image is used, and compilers are installed via buildcache --- .github/build-ci/compilers/spack.yaml | 7 +++++++ .github/workflows/ci.yml | 6 ++++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 .github/build-ci/compilers/spack.yaml diff --git a/.github/build-ci/compilers/spack.yaml b/.github/build-ci/compilers/spack.yaml new file mode 100644 index 000000000..b0d28d596 --- /dev/null +++ b/.github/build-ci/compilers/spack.yaml @@ -0,0 +1,7 @@ +spack: + specs: + - gcc@13.2.0 %gcc@8.5.0 + - intel-oneapi-compilers-classic@2021.10.0 + view: false + concretizer: + unify: false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1bf309c52..72a5fb1f4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,11 +12,13 @@ jobs: spack-manifest-path: - .github/build-ci/manifests/gcc.spack.yaml.j2 - .github/build-ci/manifests/intel.spack.yaml.j2 - uses: access-nri/build-ci/.github/workflows/ci.yml@v3 + uses: access-nri/build-ci/.github/workflows/ci.yml@268-github-hosted-pull-fix with: # For defaults for args not specified here (eg. spack/packages/config refs), see https://github.com/ACCESS-NRI/build-ci/blob/v3/.github/workflows/README.md spack-manifest-path: ${{ matrix.spack-manifest-path }} - allow-ssh-into-spack-install: false + # We need to install the compilers manually here because the upstream image is too large to run on GitHub-hosted runners + spack-compiler-manifest-path: .github/build-ci/compilers/spack.yaml + allow-ssh-into-spack-install: true spack-oci-buildcache-url: oci://ghcr.io/CABLE-LSM/build-ci-buildcache # https://github.com/CABLE-LSM/CABLE/pkgs/container/build-ci-buildcache # Since CABLE-LSM can't access ACCESS-NRI's self-hosted runners, we use a GitHub-hosted version run-self-hosted: false