Downstream pipeline nesting broken

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?

Using parallel with trigger is not supported.

1 Like

Thank you @balonik I missed that one in the documentation.

Interestingly enough using parallel with triggers works for one level.

1 Like

Hey, short question:
Has removing the keyword parallel really solved your problem?
Because I have the exact same problem and removing the parallel keyword fixed nothing for me.