[go: up one dir, main page]

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).