diff options
author | Jonathon Anderson <17242663+blue42u@users.noreply.github.com> | 2022-10-15 12:29:53 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-15 17:29:53 +0000 |
commit | 10491e98a876df986ce9ee78902c440fe4a8337d (patch) | |
tree | ebb594ca90c3d265409f804dae7654b33c65bbe3 /share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml | |
parent | 898c0b45fbd8798044d21acc3d3f0462230f451f (diff) | |
download | spack-10491e98a876df986ce9ee78902c440fe4a8337d.tar.gz spack-10491e98a876df986ce9ee78902c440fe4a8337d.tar.bz2 spack-10491e98a876df986ce9ee78902c440fe4a8337d.tar.xz spack-10491e98a876df986ce9ee78902c440fe4a8337d.zip |
CI: allow multiple matches to combine tags (#32290)
Currently "spack ci generate" chooses the first matching entry in
gitlab-ci:mappings to fill attributes for a generated build-job,
requiring that the entire configuration matrix is listed out
explicitly. This unfortunately causes significant problems in
environments with large configuration spaces, for example the
environment in #31598 (spack.yaml) supports 5 operating systems,
3 architectures and 130 packages with explicit size requirements,
resulting in 1300 lines of configuration YAML.
This patch adds a configuraiton option to the gitlab-ci schema called
"match_behavior"; when it is set to "merge", all matching entries
are applied in order to the final build-job, allowing a few entries
to cover an entire matrix of configurations.
The default for "match_behavior" is "first", which behaves as before
this commit (only the runner attributes of the first match are used).
In addition, match entries may now include a "remove-attributes"
configuration, which allows matches to remove tags that have been
aggregated by prior matches. This only makes sense to use with
"match_behavior:merge". You can combine "runner-attributes" with
"remove-attributes" to effectively override prior tags.
Diffstat (limited to 'share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml')
-rw-r--r-- | share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml index 27de37b1f5..4c209022af 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/aws-isc/spack.yaml @@ -171,6 +171,7 @@ spack: - spack -d ci rebuild > >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_out.txt) 2> >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_err.txt >&2) image: { "name": "ghcr.io/spack/e4s-amazonlinux-2:v2022-03-21", "entrypoint": [""] } + match_behavior: first mappings: - match: - llvm |