From 19739be26e59b4bf14454acd324cab9b20df92e8 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Tue, 18 Nov 2025 14:04:59 +1100 Subject: [PATCH 01/11] [no ci] infra: Update to v8 --- .github/workflows/cd.yml | 4 ++-- .github/workflows/ci.yml | 6 +++--- config/versions.json | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index c88109a..ba49ffe 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -63,14 +63,14 @@ jobs: max-parallel: 1 matrix: manifest: ${{ fromJson(needs.setup-cd.outputs.manifest) }} - uses: access-nri/build-cd/.github/workflows/cd.yml@v7 + uses: access-nri/build-cd/.github/workflows/cd.yml@v8 with: model: ${{ matrix.manifest.name }} spack-manifest-path: ${{ matrix.manifest.path }} # We have a custom schema for general software deployment manifests, so we specify it here spack-manifest-schema-path: au.org.access-nri/tools/spack/environment/deployment spack-manifest-schema-version: 1-0-0 - config-versions-schema-version: 3-0-0 + config-versions-schema-version: 4-0-0 config-packages-schema-version: 1-0-0 # This is a non-model deployment repository, so we do not want to tag the deployment or upload to the build database tag-deployment: false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 315ff4b..c2e43b8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -105,7 +105,7 @@ jobs: max-parallel: 1 matrix: manifest: ${{ fromJson(needs.setup-pr.outputs.manifest) }} - uses: access-nri/build-cd/.github/workflows/ci.yml@v7 + uses: access-nri/build-cd/.github/workflows/ci.yml@v8 with: model: ${{ matrix.manifest.name }} pr: ${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.event.issue.number }} @@ -113,7 +113,7 @@ jobs: # We have a custom schema for general software deployment manifests, so we specify it here spack-manifest-schema-path: au.org.access-nri/tools/spack/environment/deployment spack-manifest-schema-version: 1-0-0 - config-versions-schema-version: 3-0-0 + config-versions-schema-version: 4-0-0 config-packages-schema-version: 1-0-0 permissions: pull-requests: write @@ -135,7 +135,7 @@ jobs: max-parallel: 1 matrix: manifest: ${{ fromJson(needs.setup-pr.outputs.manifest) }} - uses: access-nri/build-cd/.github/workflows/ci-closed.yml@v7 + uses: access-nri/build-cd/.github/workflows/ci-closed.yml@v8 with: root-sbd: ${{ matrix.manifest.name }} secrets: inherit diff --git a/config/versions.json b/config/versions.json index 3f477ad..c0da4ac 100644 --- a/config/versions.json +++ b/config/versions.json @@ -1,5 +1,5 @@ { - "$schema": "https://raw.githubusercontent.com/ACCESS-NRI/schema/main/au.org.access-nri/model/deployment/config/versions/3-0-0.json", - "spack": "0.22", - "spack-packages": "2025.06.001" + "$schema": "https://raw.githubusercontent.com/ACCESS-NRI/schema/main/au.org.access-nri/model/deployment/config/versions/4-0-0.json", + "spack": "1.0", + "access-spack-packages": "2025.06.001" } From 82cac1f23984b649d2aa4a7686899d2c2137deee Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Fri, 5 Dec 2025 09:49:20 +1100 Subject: [PATCH 02/11] [no ci] infra: Update spack version to v1.1, update manifest schema to 2-0-0 --- .github/workflows/cd.yml | 2 +- .github/workflows/ci.yml | 2 +- config/versions.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index ba49ffe..30bbebe 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -69,7 +69,7 @@ jobs: spack-manifest-path: ${{ matrix.manifest.path }} # We have a custom schema for general software deployment manifests, so we specify it here spack-manifest-schema-path: au.org.access-nri/tools/spack/environment/deployment - spack-manifest-schema-version: 1-0-0 + spack-manifest-schema-version: 2-0-0 config-versions-schema-version: 4-0-0 config-packages-schema-version: 1-0-0 # This is a non-model deployment repository, so we do not want to tag the deployment or upload to the build database diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c2e43b8..57ce734 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -112,7 +112,7 @@ jobs: spack-manifest-path: ${{ matrix.manifest.path }} # We have a custom schema for general software deployment manifests, so we specify it here spack-manifest-schema-path: au.org.access-nri/tools/spack/environment/deployment - spack-manifest-schema-version: 1-0-0 + spack-manifest-schema-version: 2-0-0 config-versions-schema-version: 4-0-0 config-packages-schema-version: 1-0-0 permissions: diff --git a/config/versions.json b/config/versions.json index c0da4ac..f51ddc1 100644 --- a/config/versions.json +++ b/config/versions.json @@ -1,5 +1,5 @@ { "$schema": "https://raw.githubusercontent.com/ACCESS-NRI/schema/main/au.org.access-nri/model/deployment/config/versions/4-0-0.json", - "spack": "1.0", + "spack": "1.1", "access-spack-packages": "2025.06.001" } From 6e7d4cf82b16de584d006d1f7799b7e778dc985e Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Fri, 5 Dec 2025 14:01:16 +1100 Subject: [PATCH 03/11] [no ci] spack.yaml: Dedent list elements for spack-style manifests --- gh/spack.yaml | 8 ++++---- ncdu/spack.yaml | 6 +++--- openssh/spack.yaml | 8 ++++---- pinentry/spack.yaml | 6 +++--- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gh/spack.yaml b/gh/spack.yaml index ccd0491..74de023 100644 --- a/gh/spack.yaml +++ b/gh/spack.yaml @@ -6,14 +6,14 @@ # This manifest is for installing gh, the GitHub command line interface spack: specs: - - gh@2.49.2 + - gh@2.49.2 packages: gh: require: - - '%gcc@14.1.0' + - '%gcc@14.1.0' all: require: - - 'target=x86_64' + - 'target=x86_64' view: true concretizer: unify: true @@ -21,6 +21,6 @@ spack: default: tcl: include: - - gh + - gh projections: gh: 'system-tools/{name}/{version}' diff --git a/ncdu/spack.yaml b/ncdu/spack.yaml index 878b108..f785c01 100644 --- a/ncdu/spack.yaml +++ b/ncdu/spack.yaml @@ -6,11 +6,11 @@ # This manifest is for installing ncdu, a terminal user interface for du (disk usage) spack: specs: - - ncdu@1.19 + - ncdu@1.19 packages: ncdu: require: - - '%gcc@14.1.0' + - '%gcc@14.1.0' view: true concretizer: unify: true @@ -18,6 +18,6 @@ spack: default: tcl: include: - - ncdu + - ncdu projections: ncdu: 'system-tools/{name}/{version}' diff --git a/openssh/spack.yaml b/openssh/spack.yaml index 603db6c..8e291dd 100644 --- a/openssh/spack.yaml +++ b/openssh/spack.yaml @@ -6,14 +6,14 @@ # This manifest is for installing openssh, a suite of secure networking utilities based on the SSH protocol spack: specs: - - openssh@9.9p1 + - openssh@9.9p1 packages: openssh: require: - - '%gcc@14.1.0' + - '%gcc@14.1.0' all: require: - - 'target=x86_64' + - 'target=x86_64' view: true concretizer: unify: true @@ -21,6 +21,6 @@ spack: default: tcl: include: - - openssh + - openssh projections: openssh: 'system-tools/{name}/{version}' diff --git a/pinentry/spack.yaml b/pinentry/spack.yaml index c69e3d5..f1aa632 100644 --- a/pinentry/spack.yaml +++ b/pinentry/spack.yaml @@ -6,11 +6,11 @@ # This manifest is for installing pinentry, a small collection of dialog programs that allow GnuPG to read passphrases and PIN numbers in a secure manner. spack: specs: - - pinentry@1.3.0 gui=tty + - pinentry@1.3.0 gui=tty packages: pinentry: require: - - '%gcc@14.1.0' + - '%gcc@14.1.0' view: true concretizer: unify: true @@ -18,6 +18,6 @@ spack: default: tcl: include: - - pinentry + - pinentry projections: pinentry: 'system-tools/{name}/{version}' From 246ba19ab94d8f61bcd755b23e826815a2dbbe27 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Fri, 5 Dec 2025 14:11:37 +1100 Subject: [PATCH 04/11] [no ci] spack.yaml: Add reserved defs, use toolchains --- gh/spack.yaml | 8 +++++++- ncdu/spack.yaml | 9 ++++++++- openssh/spack.yaml | 9 ++++++++- pinentry/spack.yaml | 10 +++++++++- 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/gh/spack.yaml b/gh/spack.yaml index 74de023..70dd447 100644 --- a/gh/spack.yaml +++ b/gh/spack.yaml @@ -5,12 +5,18 @@ # # This manifest is for installing gh, the GitHub command line interface spack: + definitions: + - _name: [gh] + - _version: [2.43.1] specs: - gh@2.49.2 packages: gh: require: - - '%gcc@14.1.0' + - '%access_gcc' + gcc: + require: + - '@14.1.0' all: require: - 'target=x86_64' diff --git a/ncdu/spack.yaml b/ncdu/spack.yaml index f785c01..b0eedf1 100644 --- a/ncdu/spack.yaml +++ b/ncdu/spack.yaml @@ -5,12 +5,19 @@ # # This manifest is for installing ncdu, a terminal user interface for du (disk usage) spack: + definitions: + # _name and _version are reserved definitions that inform build-cd deployments, and have no effect otherwise + - _name: [ncdu] + - _version: [1.19] specs: - ncdu@1.19 packages: ncdu: require: - - '%gcc@14.1.0' + - '%access_gcc' + gcc: + require: + - '@14.1.0' view: true concretizer: unify: true diff --git a/openssh/spack.yaml b/openssh/spack.yaml index 8e291dd..a02fdc5 100644 --- a/openssh/spack.yaml +++ b/openssh/spack.yaml @@ -5,12 +5,19 @@ # # This manifest is for installing openssh, a suite of secure networking utilities based on the SSH protocol spack: + definitions: + # _name and _version are reserved definitions that inform build-cd deployments, and have no effect otherwise + - _name: [openssh] + - _version: [9.8p1] specs: - openssh@9.9p1 packages: openssh: require: - - '%gcc@14.1.0' + - '%access_gcc' + gcc: + require: + - '@14.1.0' all: require: - 'target=x86_64' diff --git a/pinentry/spack.yaml b/pinentry/spack.yaml index f1aa632..09c8e44 100644 --- a/pinentry/spack.yaml +++ b/pinentry/spack.yaml @@ -5,12 +5,20 @@ # # This manifest is for installing pinentry, a small collection of dialog programs that allow GnuPG to read passphrases and PIN numbers in a secure manner. spack: + definitions: + # _name and _version are reserved definitions that inform build-cd deployments, and have no effect otherwise + - _name: [pinentry] + - _version: [1.3.0] specs: - pinentry@1.3.0 gui=tty packages: pinentry: require: - - '%gcc@14.1.0' + - '%access_gcc' + + gcc: + require: + - '@14.1.0' view: true concretizer: unify: true From 6a206bcc50f0e0cc6af72f40c9f5a23322b1006e Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Mon, 8 Dec 2025 11:30:58 +1100 Subject: [PATCH 05/11] [no ci] .github.workflows: Revert to 1-0-0 tools-specific schema --- .github/workflows/cd.yml | 2 +- .github/workflows/ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 30bbebe..ba49ffe 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -69,7 +69,7 @@ jobs: spack-manifest-path: ${{ matrix.manifest.path }} # We have a custom schema for general software deployment manifests, so we specify it here spack-manifest-schema-path: au.org.access-nri/tools/spack/environment/deployment - spack-manifest-schema-version: 2-0-0 + spack-manifest-schema-version: 1-0-0 config-versions-schema-version: 4-0-0 config-packages-schema-version: 1-0-0 # This is a non-model deployment repository, so we do not want to tag the deployment or upload to the build database diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 57ce734..c2e43b8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -112,7 +112,7 @@ jobs: spack-manifest-path: ${{ matrix.manifest.path }} # We have a custom schema for general software deployment manifests, so we specify it here spack-manifest-schema-path: au.org.access-nri/tools/spack/environment/deployment - spack-manifest-schema-version: 2-0-0 + spack-manifest-schema-version: 1-0-0 config-versions-schema-version: 4-0-0 config-packages-schema-version: 1-0-0 permissions: From bd63856fe3165790d1fb1729e58cd189a6dbf5e6 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Tue, 20 Jan 2026 15:42:32 +1100 Subject: [PATCH 06/11] [no ci] Remove inputs.pr, add inputs.spack-manifest-path to ci-closed --- .github/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c2e43b8..0747138 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -108,7 +108,6 @@ jobs: uses: access-nri/build-cd/.github/workflows/ci.yml@v8 with: model: ${{ matrix.manifest.name }} - pr: ${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.event.issue.number }} spack-manifest-path: ${{ matrix.manifest.path }} # We have a custom schema for general software deployment manifests, so we specify it here spack-manifest-schema-path: au.org.access-nri/tools/spack/environment/deployment @@ -137,5 +136,5 @@ jobs: manifest: ${{ fromJson(needs.setup-pr.outputs.manifest) }} uses: access-nri/build-cd/.github/workflows/ci-closed.yml@v8 with: - root-sbd: ${{ matrix.manifest.name }} + spack-manifest-path: ${{ matrix.manifest.path }} secrets: inherit From 42230cb3ab97baa3b3e1bdff846c38d7cdf587e2 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Thu, 22 Jan 2026 14:10:15 +1100 Subject: [PATCH 07/11] Update to test branch --- .github/workflows/cd.yml | 2 +- .github/workflows/ci.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index ba49ffe..a2225b3 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -63,7 +63,7 @@ jobs: max-parallel: 1 matrix: manifest: ${{ fromJson(needs.setup-cd.outputs.manifest) }} - uses: access-nri/build-cd/.github/workflows/cd.yml@v8 + uses: access-nri/build-cd/.github/workflows/cd.yml@spack-v1-migration_TEST with: model: ${{ matrix.manifest.name }} spack-manifest-path: ${{ matrix.manifest.path }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0747138..5b500e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -105,7 +105,7 @@ jobs: max-parallel: 1 matrix: manifest: ${{ fromJson(needs.setup-pr.outputs.manifest) }} - uses: access-nri/build-cd/.github/workflows/ci.yml@v8 + uses: access-nri/build-cd/.github/workflows/ci.yml@spack-v1-migration_TEST with: model: ${{ matrix.manifest.name }} spack-manifest-path: ${{ matrix.manifest.path }} @@ -134,7 +134,7 @@ jobs: max-parallel: 1 matrix: manifest: ${{ fromJson(needs.setup-pr.outputs.manifest) }} - uses: access-nri/build-cd/.github/workflows/ci-closed.yml@v8 + uses: access-nri/build-cd/.github/workflows/ci-closed.yml@spack-v1-migration_TEST with: spack-manifest-path: ${{ matrix.manifest.path }} secrets: inherit From 532f9f2361496a028e10fd25bf19e3040c5a6574 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Thu, 22 Jan 2026 14:15:34 +1100 Subject: [PATCH 08/11] TC 2.1 Update gh --- gh/spack.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gh/spack.yaml b/gh/spack.yaml index 70dd447..a6e2767 100644 --- a/gh/spack.yaml +++ b/gh/spack.yaml @@ -7,7 +7,7 @@ spack: definitions: - _name: [gh] - - _version: [2.43.1] + - _version: [2.49.2-1] specs: - gh@2.49.2 packages: @@ -16,7 +16,7 @@ spack: - '%access_gcc' gcc: require: - - '@14.1.0' + - '@15.1.0' all: require: - 'target=x86_64' From 0bf75fddecb51e30edba99425bad232bc9b74be0 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Thu, 22 Jan 2026 14:27:45 +1100 Subject: [PATCH 09/11] TC 2.1 Update gh (after fix) --- gh/spack.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gh/spack.yaml b/gh/spack.yaml index a6e2767..5e66b8f 100644 --- a/gh/spack.yaml +++ b/gh/spack.yaml @@ -1,4 +1,4 @@ -# This is a Spack Environment file +# This is a Spack Environment file! # # It describes a set of packages to be installed, along with # configuration settings. From 231cf0276b32961bd921a1f99febfe2849bf67c0 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Thu, 22 Jan 2026 16:40:31 +1100 Subject: [PATCH 10/11] TC 2.1 Update gh (after another fix) --- gh/spack.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gh/spack.yaml b/gh/spack.yaml index 5e66b8f..67697b3 100644 --- a/gh/spack.yaml +++ b/gh/spack.yaml @@ -1,4 +1,4 @@ -# This is a Spack Environment file! +# This is a Spack Environment file!! # # It describes a set of packages to be installed, along with # configuration settings. From e378525ab1c5236213cd1b75d068f5ffdc08c632 Mon Sep 17 00:00:00 2001 From: Tommy Gatti Date: Fri, 23 Jan 2026 13:13:08 +1100 Subject: [PATCH 11/11] Test with partial projection --- gh/spack.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gh/spack.yaml b/gh/spack.yaml index 67697b3..309d18c 100644 --- a/gh/spack.yaml +++ b/gh/spack.yaml @@ -26,7 +26,5 @@ spack: modules: default: tcl: - include: - - gh projections: - gh: 'system-tools/{name}/{version}' + gh: 'system-tools/{name}'