build-ci v3: Update Infra For spack v1
#8
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.
References issue ACCESS-NRI/build-ci#231 and PR ACCESS-NRI/build-ci#253
References project Spack `0.22` to `1.0` Migration
Important
This PR is a major update to the 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 CI using
spack < 1.0. They will still get bug fixes and non-breaking features if required.If you want to deploy to instances of
spack < 1.0, you must usebuild-ci v2.If you want to deploy to instances of
spack >= 1.0, you must usebuild-ci v3.Background
We are looking to transition
build-citov3! This is due to a migration tospack v1.X, fromv0.X, which offers many bug fixes, features, and optimisations.One of these changes is the splitting of spacks core codebase from the builtin spack-packages repository, which means that we have another lever to tweak for our builds: the version of
spack,spack-config, ourspack-packagesand the (new!) builtinspack-packages.Since we want to leave open the possibility of forking the builtin
spack-packages, we have also decided to renameACCESS-NRI/spack-packagestoACCESS-NRI/access-spack-packages. See ACCESS-NRI/access-spack-packages#295 for more info.Therefore this is a major version update, as there are the following changes to the inputs (and analogous changes to the workflow outputs):
spack-packages-refinput, which defaulted tomain(in future,api-v1).access-spack-packages-refinput, which defaults to theapi-v2branch.builtin-spack-packages-refinput, which defaults to themainbranch.This means that:
container-image-version: :rocky-0.22-*, orspack-ref<releases/1.0, you must stay onv2due to the input changes.container-image-version: :rocky-1.*-*, orspack-ref>=releases/1.0, you must migrate tov3due to the input changes.It is possible to test across these versions of
spackif required, via a mix of workflow versions. Ask @CodeGat if you need this functionality.Features
The main new features include:
spack-packagesrepository, as well as our ownaccess-spack-packagesrepository. All of the bugfixes, features and optimisations added since0.22are available to us for future inclusion intobuild-ci.Prerequisites for Merging
build-cientrypoints tov3(this PR!)builtin-spack-packages-refis requiredaccess-spack-packages-refis appropriatespack v1overspack v0.22