build-cd v8: Infrastructure Update for spack v1.X#326
Merged
Conversation
spack v1.Xbuild-cd v8: Infrastructure Update for spack v1.X
This was referenced Oct 30, 2025
This was referenced Nov 18, 2025
This was referenced Nov 23, 2025
Member
Author
|
That's all the PRs! Now onto E2E Testing... |
Member
Author
|
Just so we don't have to scroll up... TestingMDRs (TC 1) ✔️MDR Testing details hidden in this sectionTested in ACCESS-NRI/ACCESS-TEST#63 Prerelease (Commit-Based) (TC 1.1) ✔️Prerelease (
|
9cc12b5 to
fa6ccf5
Compare
4 tasks
aidanheerdegen
previously approved these changes
Jan 23, 2026
Member
aidanheerdegen
left a comment
There was a problem hiding this comment.
Mammoth effort! Thank you so much for wrangling all this.
…422a81b3d75f3f119e7c06234418763803a4f070 after manual update
aidanheerdegen
previously approved these changes
Feb 6, 2026
5a05238 to
4b5b715
Compare
aidanheerdegen
approved these changes
Feb 6, 2026
CodeGat
added a commit
that referenced
this pull request
Feb 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #313
References ACCESS-NRI/access-spack-packages#295, ACCESS-NRI/schema#53
Important
This PR is a major update to the deployment infrastructure. See below for the prerequisites for this repository to be able to merge this PR.
Important
This major version change marks the end of major infrastructure updates for deployments to
spack < 1.0.If you want to deploy to instances of
spack < 1.0, you must usebuild-cd <= v7.If you want to deploy to instances of
spack >= 1.0, you must usebuild-cd >= v8.Background
Finally, the migration to
spack v1.Xis here!This requires a bunch of changes to the deployment infrastructure, mostly because
spackhas decoupled their builtinspack/spack-packagesrepository from the history of thespackrepository. This means that for provenance we now need to keep track of the newspack/spack-packages(thebuiltinspack packages repository) and an updatedACCESS-NRI/access-spack-packages(renamed fromACCESS-NRI/spack-packages).This change has ramifications across a bunch of repos: all MDRs,
ACCESS-NRI/schema,ACCESS-NRI/[access-]spack-packages, andACCESS-NRI/spack-config. It also requires changes to other repositories, see the linked project.Importantly (as noted in the
!IMPORTANTnote!), this major version change is a cut-off for deployments tospack < 1.0. This means that if you want to deploy tospack 0.22instances, for example, you must stay onbuild-cd <= v7in your MDRs. This was done to simplify the infrastructure, so there isn't a bunch of "run this step if spack < v1, etc".The PR
This PR has a few main areas of change.
Areas of Change hidden in this section - there is a lot!
Updated the CI/CD Deployment Logic
spack-packagesupdating logic in the deployment step, in favour of a spack-managedspack repo updatecommand, done in b5f5db1build-cdconfig/settings.jsonand the MDRsconfig/versions.jsonusingaccess-nri/actionsget-git-ref-infoaction (from Add get-git-ref-info action, update READMEs actions#39). Done in 3e7bb4cspack-specificrepos::key, use a normalrepos:key. Updated logic in ae27874Updated the CD Model Provenance Upload
accessandbuiltinspack packagestracking_servicesschema version to2-0-0- will need to update the schema as in Schema updates forspack v1schema#57Done in 65e20bb
Updated the Create Deployment Spack Workflow
spack-packagesrepository is now cloned whenspackbootstraps (seeACCESS-NRI/spack-packagesas git-based packages repo spack-config#82). Since this is the case, we no longer need to reference it. See 0da9567Updated the Cleanup Logic
spack-packagesrepo removal step in the post-PR cleanup job. This is because we've moved the Prerelease-specificaccess-spack-packagesrepository clone destination into the environment itself, which means thespack env rmcommand removes theaccess-spack-packagesrepo also. Done in f82ca40Updated the
config/settings.jsonDeployment Logicconfig/settings.jsonlogic to be able to update thebuiltinspack-packagesrepository as well, as we now keep track (and modify) that repository frombuild-cdcentrally.config/settings.schema.jsonto add the newdeployment.TARGET.TYPE.VERSION.builtin-spack-packagesfield forVERSION >= 1, data now looks like:{ "$schema": "./settings.schema.json", "deployment": { "Gadi": # ... "Prerelease": { "0.22": { "spack": "357ff5dde01a32612911fd2021e1feefd33a3a3c", "spack-config": "2025.08.000" - } + }, + "1.0": { + "spack": "357ff5dde01a32612911fd2021e1feefd33a3a3c", + "builtin-spack-packages": "2025.07.0", + "spack-config": "2025.08.000" + } } } } }Relevant changes in https://github.com/ACCESS-NRI/build-cd/pull/326/files/0da9567a5f5021c5cbe3bab1253ac1539d97b95a..0aa2c7fa2cc377ce66e2019fedafac49f67ca7a7
Misc Changes...
The
validate-repo-versionaction was deleted as it is now unreferenced, replaced byACCESS-NRI/actionsget-git-ref-infoaction in Add get-git-ref-info action, update READMEs actions#39, see 6622773Intra-workflow refs were updated to
v8in 17aa304Other PRs Merged Into This One
config/versions.jsoncustom-scopesField #335inputs.root-sbd, Addinputs.spack-manifest-pathWhere Missing #347Testing
MDRs (TC 1) ✔️
MDR Testing details hidden in this section
Tested in ACCESS-NRI/ACCESS-TEST#63
Prerelease (Commit-Based) (TC 1.1) ✔️
Success, see commit and run.
Prerelease (
!redeploy-Based) (TC 1.2) ✔️Success, see comment and run.
Prerelease (Cleanup) (TC 1.3) ✔️
Success, see event and run.
Prerelease (Multi-Spec) (TC 1.4) ✔️
Infrastructure side of things was a success - concretization failed as we don't have anything to hinge multi-spec builds on in
ACCESS-TESTbut the injections were valid. See commit and correct injection.Prerelease (Custom Scopes) (TC 1.5) ✔️
Success, see commit and run.
Release (TC 1.6) ✔️
Success, although metadata upload failed as the database is not equipped to read it yet. See commit and run, and the release.
SDRs (TC 2) ✔️
SDR Testing details hidden in this section
Tested in ACCESS-NRI/system-tools#21
Prerelease (Commit-Based) (TC 2.1) ✔️
Success, see commit and run.
Prerelease (
!redeploy-Based) (TC 2.2) ✔️Success, see comment and run.
Prerelease (Cleanup) (TC 2.3) ✔️
Success, see event and run.
Prerelease (Custom Modulefiles) (TC 2.4) ✔️
Success, see commit and run.
Prerequisites For Merging
build-cd v7:!update-configs: Prerelease to Model Configs Pipeline #321 to be merged, and both this branch andv8rebased ontov7ACCESS-NRI/spack-packagesas git-based packages repo spack-config#82 to be mergedspack v1schema#57 to be mergedv8