Backend: Stages are not flattened when substituted via reference tag
Summary
We can reuse common parts of CI configuration when setting up script, before_script, and the like. This really comes in handy. Alas, we cannot do this to stages yet.
Steps to reproduce
Paste the following to linter:
.common_stages:
- build
- deploy
stages:
- !reference [.common_stages]
- analysis
What is the current bug behavior?
Linter gives error: stages config should be an array of strings
What is the expected correct behavior?
stages are flattened the same way it happens to script, before_script, etc.
GitLab treats resulting stages as if it was written the following way:
stages:
- build
- deploy
- analysis
Environment
GitLab 13.10
Misc
Should be related to gitlab-foss#32973 (closed).