spack/share/spack/gitlab/cloud_pipelines/stacks
Jonathon Anderson 10491e98a8
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.
2022-10-15 17:29:53 +00:00
..
aws-ahug CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
aws-ahug-aarch64 CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
aws-isc CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
aws-isc-aarch64 CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
build_systems CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
data-vis-sdk CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
e4s CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
e4s-mac CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
e4s-on-power CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
e4s-oneapi CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
ml-cpu CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
ml-cuda CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
ml-rocm CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
radiuss CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
radiuss-aws CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
radiuss-aws-aarch64 CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00
tutorial CI: allow multiple matches to combine tags (#32290) 2022-10-15 17:29:53 +00:00