Merge YAML block from includes
This issue is a followup from #16376 (comment 423199984)
Release notes
Previously it was impossible to refer to sections of a yaml file to be used as a part of your pipeline, in this release we've allowed you to merge specific keys from multiple yaml file into a single pipeline configuration, this allows you to maintain a single location of pipeline actions (such as setups, teardowns, etc...) to be used and referred along side your jobs.
Problem to solve
We would like to merge content from another YAML file to support the following:
# Content of setup.yml
.setup:
script:
- echo creating environment1
- echo creating environment2
# Content of teardown.yml
.teardown:
script:
- echo deleting environment1
- echo deleting environment2
# .gitlab-ci.yml
include:
local: setup.yml
local: teardown.yml
test:
script:
- !reference [.setup, script] # or any other name that would allow us to "include in this context some other value"
- echo running my own command
- !reference [.teardown, script]
This will result in the following:
echo creating environment1
echo creating environment2
echo running my own command
echo deleting environment1
echo deleting environment2
The example below will merge script however we need to make sure to support any other key that is under job such as rules
The following section in the documentation needs to get updated https://docs.gitlab.com/ee/ci/yaml/README.html#include
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.