Skip to content

Commit db0c280

Browse files
authored
[no ci] Infra Update v8: spack v1 Support (#22)
* [no ci] infra: Update to v8 * [no ci] infra: Update spack version to v1.1, update manifest schema to 2-0-0 * [no ci] spack.yaml: Dedent list elements for spack-style manifests * [no ci] spack.yaml: Add reserved defs, use toolchains * [no ci] .github.workflows: Revert to 1-0-0 tools-specific schema * [no ci] Remove inputs.pr, add inputs.spack-manifest-path to ci-closed * [no ci] Update config/versions.json access-spack-packages version to common api-v2 tag * [no ci] Update manifests to language requirements * [no ci] Update gh _version * [no ci] match openssh _version * [no ci] Use MDR schema for SDRs
1 parent c055565 commit db0c280

7 files changed

Lines changed: 84 additions & 36 deletions

File tree

.github/workflows/cd.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,12 @@ jobs:
6363
max-parallel: 1
6464
matrix:
6565
manifest: ${{ fromJson(needs.setup-cd.outputs.manifest) }}
66-
uses: access-nri/build-cd/.github/workflows/cd.yml@v7
66+
uses: access-nri/build-cd/.github/workflows/cd.yml@v8
6767
with:
6868
model: ${{ matrix.manifest.name }}
6969
spack-manifest-path: ${{ matrix.manifest.path }}
70-
# We have a custom schema for general software deployment manifests, so we specify it here
71-
spack-manifest-schema-path: au.org.access-nri/tools/spack/environment/deployment
72-
spack-manifest-schema-version: 1-0-0
73-
config-versions-schema-version: 3-0-0
70+
spack-manifest-schema-version: 2-0-0
71+
config-versions-schema-version: 4-0-0
7472
config-packages-schema-version: 1-0-0
7573
# This is a non-model deployment repository, so we do not want to tag the deployment or upload to the build database
7674
tag-deployment: false

.github/workflows/ci.yml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -105,15 +105,12 @@ jobs:
105105
max-parallel: 1
106106
matrix:
107107
manifest: ${{ fromJson(needs.setup-pr.outputs.manifest) }}
108-
uses: access-nri/build-cd/.github/workflows/ci.yml@v7
108+
uses: access-nri/build-cd/.github/workflows/ci.yml@v8
109109
with:
110110
model: ${{ matrix.manifest.name }}
111-
pr: ${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.event.issue.number }}
112111
spack-manifest-path: ${{ matrix.manifest.path }}
113-
# We have a custom schema for general software deployment manifests, so we specify it here
114-
spack-manifest-schema-path: au.org.access-nri/tools/spack/environment/deployment
115-
spack-manifest-schema-version: 1-0-0
116-
config-versions-schema-version: 3-0-0
112+
spack-manifest-schema-version: 2-0-0
113+
config-versions-schema-version: 4-0-0
117114
config-packages-schema-version: 1-0-0
118115
permissions:
119116
pull-requests: write
@@ -135,7 +132,7 @@ jobs:
135132
max-parallel: 1
136133
matrix:
137134
manifest: ${{ fromJson(needs.setup-pr.outputs.manifest) }}
138-
uses: access-nri/build-cd/.github/workflows/ci-closed.yml@v7
135+
uses: access-nri/build-cd/.github/workflows/ci-closed.yml@v8
139136
with:
140-
root-sbd: ${{ matrix.manifest.name }}
137+
spack-manifest-path: ${{ matrix.manifest.path }}
141138
secrets: inherit

config/versions.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "https://raw.githubusercontent.com/ACCESS-NRI/schema/main/au.org.access-nri/model/deployment/config/versions/3-0-0.json",
3-
"spack": "0.22",
4-
"spack-packages": "2025.06.001"
2+
"$schema": "https://raw.githubusercontent.com/ACCESS-NRI/schema/main/au.org.access-nri/model/deployment/config/versions/4-0-0.json",
3+
"spack": "1.1",
4+
"access-spack-packages": "2026.02.002"
55
}

gh/spack.yaml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,33 @@
55
#
66
# This manifest is for installing gh, the GitHub command line interface
77
spack:
8+
definitions:
9+
- _name: [gh]
10+
- _version: [2.49.2]
811
specs:
9-
- gh@2.49.2
12+
- gh@2.49.2
1013
packages:
11-
gh:
14+
# Compilers
15+
c:
1216
require:
13-
- '%gcc@14.1.0'
14-
all:
17+
- 'gcc@14.1.0'
18+
cxx:
19+
require:
20+
- 'gcc@14.1.0'
21+
fortran:
1522
require:
16-
- 'target=x86_64'
23+
- 'gcc@14.1.0'
24+
25+
all:
26+
prefer:
27+
- 'target=x86_64'
1728
view: true
1829
concretizer:
1930
unify: true
2031
modules:
2132
default:
2233
tcl:
2334
include:
24-
- gh
35+
- gh
2536
projections:
2637
gh: 'system-tools/{name}/{version}'

ncdu/spack.yaml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,34 @@
55
#
66
# This manifest is for installing ncdu, a terminal user interface for du (disk usage)
77
spack:
8+
definitions:
9+
# _name and _version are reserved definitions that inform build-cd deployments, and have no effect otherwise
10+
- _name: [ncdu]
11+
- _version: ['1.19']
812
specs:
9-
- ncdu@1.19
13+
- ncdu@1.19
1014
packages:
11-
ncdu:
15+
# Compilers
16+
c:
1217
require:
13-
- '%gcc@14.1.0'
18+
- 'gcc@14.1.0'
19+
cxx:
20+
require:
21+
- 'gcc@14.1.0'
22+
fortran:
23+
require:
24+
- 'gcc@14.1.0'
25+
26+
all:
27+
prefer:
28+
- 'target=x86_64'
1429
view: true
1530
concretizer:
1631
unify: true
1732
modules:
1833
default:
1934
tcl:
2035
include:
21-
- ncdu
36+
- ncdu
2237
projections:
2338
ncdu: 'system-tools/{name}/{version}'

openssh/spack.yaml

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,34 @@
55
#
66
# This manifest is for installing openssh, a suite of secure networking utilities based on the SSH protocol
77
spack:
8+
definitions:
9+
# _name and _version are reserved definitions that inform build-cd deployments, and have no effect otherwise
10+
- _name: [openssh]
11+
- _version: [9.9p1]
812
specs:
9-
- openssh@9.9p1
13+
- openssh@9.9p1
1014
packages:
11-
openssh:
15+
# Compilers
16+
c:
1217
require:
13-
- '%gcc@14.1.0'
14-
all:
18+
- 'gcc@14.1.0'
19+
cxx:
20+
require:
21+
- 'gcc@14.1.0'
22+
fortran:
1523
require:
16-
- 'target=x86_64'
24+
- 'gcc@14.1.0'
25+
26+
all:
27+
prefer:
28+
- 'target=x86_64'
1729
view: true
1830
concretizer:
1931
unify: true
2032
modules:
2133
default:
2234
tcl:
2335
include:
24-
- openssh
36+
- openssh
2537
projections:
2638
openssh: 'system-tools/{name}/{version}'

pinentry/spack.yaml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,34 @@
55
#
66
# 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.
77
spack:
8+
definitions:
9+
# _name and _version are reserved definitions that inform build-cd deployments, and have no effect otherwise
10+
- _name: [pinentry]
11+
- _version: [1.3.0]
812
specs:
9-
- pinentry@1.3.0 gui=tty
13+
- pinentry@1.3.0 gui=tty
1014
packages:
11-
pinentry:
15+
# Compilers
16+
c:
1217
require:
13-
- '%gcc@14.1.0'
18+
- 'gcc@14.1.0'
19+
cxx:
20+
require:
21+
- 'gcc@14.1.0'
22+
fortran:
23+
require:
24+
- 'gcc@14.1.0'
25+
26+
all:
27+
prefer:
28+
- 'target=x86_64'
1429
view: true
1530
concretizer:
1631
unify: true
1732
modules:
1833
default:
1934
tcl:
2035
include:
21-
- pinentry
36+
- pinentry
2237
projections:
2338
pinentry: 'system-tools/{name}/{version}'

0 commit comments

Comments
 (0)