I have a setup where I am using multi-project pipelines to deploy my infrastructure in stages. Project A deploys the AWS cluster, project B1 & B2 deploy some base services into the cluster and project C1 is the actual running service.
I am running on a self hosted GitLab Enterprise Edition 15.9.3-ee.
The setup is A → B1 → C1 and A → B2. So B1 and 2 are triggered by A and then once B1 is done it in turn triggers C1.
If I trigger pipeline in project A the trigger for pipeline C1 becomes invalid:
If I instead trigger project B1 the trigger for C1 works fine:
I recreated the issue with minimal CI configs:
A
image: alpine
stages:
- deploy
- downstream
deploy-job:
stage: deploy
script:
- echo "Deploying application..."
- echo "Application successfully deployed."
downstream:
stage: downstream
parallel:
matrix:
- REPOSITORY: [ ci-test-b1, ci-test-b2 ]
trigger:
project: group/misc/$REPOSITORY
B1
image: alpine
stages:
- deploy
- downstream
deploy-job:
stage: deploy
script:
- echo "Deploying application..."
- echo "Application successfully deployed."
downstream:
stage: downstream
parallel:
matrix:
- REPOSITORY: [ ci-test-c1 ]
trigger:
project: group/misc/$REPOSITORY
B2 & C1
image: alpine
stages:
- deploy
deploy-job:
stage: deploy
script:
- echo "Deploying application..."
- echo "Application successfully deployed."
Based on the documentation this should work fine. What am I missing?