summaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yaml
diff options
context:
space:
mode:
authorJonathon Anderson <17242663+blue42u@users.noreply.github.com>2022-10-15 12:29:53 -0500
committerGitHub <noreply@github.com>2022-10-15 17:29:53 +0000
commit10491e98a876df986ce9ee78902c440fe4a8337d (patch)
treeebb594ca90c3d265409f804dae7654b33c65bbe3 /.github/workflows/ci.yaml
parent898c0b45fbd8798044d21acc3d3f0462230f451f (diff)
downloadspack-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 '.github/workflows/ci.yaml')
0 files changed, 0 insertions, 0 deletions