Compliance pipelines load parent config in downstream pipelines
Summary
When a trigger:
keyword is used in a regular project that has compliance pipeline feature in use, the downstream config is not triggered.
The bridge job starts a new compliance pipeline that ends up re-running the parent pipeline, and this recurses until the maximum depth error is hit (after 3 attempts)
Steps to reproduce
Setup a compliance pipeline based on https://docs.gitlab.com/ee/user/project/settings/index.html#compliance-pipeline-configuration
In the project, add a simple job that uses trigger:
to load a local (or cross-project/remote) file:
# .gitlab-ci.yml
stages:
- compliance
- build
- test
build:
stage: build
script: echo build
test:
stage: test
trigger:
include:
- local: child-ci.yml
strategy: depend
# child-ci.yml
stages:
- build
- test
check:
stage: build
script: echo check
misc:
stage: test
script: echo misc
Upon execution, notice that the child-ci's jobs check
and misc
are never run.
Example Project
See customer ticket for an example job: https://gitlab.zendesk.com/agent/tickets/229643 (internal link)
What is the current bug behavior?
- Downstream pipeline is never executed
- Parent pipeline is re-executed recursively
- Compliance pipeline is executed again for downstream pipelines
What is the expected correct behavior?
- Downstream pipeline's jobs are executed
- Parent pipeline's jobs are not re-executed
- Compliance pipeline jobs are not re-executed unless determined necessary (such as in cross-project triggers)
Relevant logs and/or screenshots
See customer ticket for an example job: https://gitlab.zendesk.com/agent/tickets/229643 (internal link) and screenshots
Output of checks
This bug happens on GitLab.com
Possible fixes
TBD
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.