Compliance pipeline configuration in not exposed in merged_yaml
Summary
The merged_yaml
field of https://docs.gitlab.com/ee/api/lint.html#validate-a-projects-ci-configuration doesn't include the compliance pipelines configuration.
Steps to reproduce
- Create a project with a
.gitlab-ci.yml
file - Create a Compliance pipeline project with a
.compliance-gitlab-ci.yml
file containing Security jobs for example - Apply the compliance pipeline to the project created in 1.
- Go to "https://gitlab.example.com/api/v4/projects/:id/ci/lint" where
id
is the project id - The compliance pipeline configuration is not merged, and therefore we don't see the final pipeline configuration for this project
This API resource is used to fetch the merged yaml configuration, I don't think there's another resource we can use instead, but please correct me if I'm wrong here.
Example Project
TODO (<- @thiagocsf do you have a project using compliance pipeline to share here?)
What is the current bug behavior?
What is the expected correct behavior?
merged_yaml
is a view of the final pipeline configuration
Relevant logs and/or screenshots
Output of checks
This bug happens on GitLab.com
Results of GitLab environment info
Expand for output related to GitLab environment info
(For installations with omnibus-gitlab package run and paste the output of: `sudo gitlab-rake gitlab:env:info`) (For installations from source run and paste the output of: `sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)
Results of GitLab application Check
Expand for output related to the GitLab application check
(For installations with omnibus-gitlab package run and paste the output of:
sudo gitlab-rake gitlab:check SANITIZE=true
)(For installations from source run and paste the output of:
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true
)(we will only investigate if the tests are passing)
Possible fixes
Merge the compliance pipeline config (if exists) into merged_yaml
before returning the json respond.