Valid pipeline with workflow rules/job rules filtered out when used as child-pipeline

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

Summary

As the title says: my child-pipeline is getting filtered out because of the workflow rules although ajobs in the pipeline has a relaxed rule. If the rules are applied to the jobs directly without a workflow rule, everything works fine.

Steps to reproduce

.gitlab.yml:

Bridge to Test:
  trigger:
    include: bridge.yml
    strategy: depend

.bridge.yml:

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "parent_pipeline"'
      when: never

pipeline-build:
  stage: build
  script:
    - echo Test
  rules:
    - if: '$CI_PIPELINE_SOURCE == "parent_pipeline"'
      when: always

abc-test:
  stage: test
  script:
    - echo 1

What is the current bug behavior?

image

What is the expected correct behavior?

image

This can be achieved, e.g. without using a workflow rule:

pipeline-build:
  stage: build
  script:
    - echo Test
  rules:
    - if: '$CI_PIPELINE_SOURCE == "parent_pipeline"'
      when: always

abc-test:
  stage: test
  script:
    - echo 1
  rules:
    - if: '$CI_PIPELINE_SOURCE == "parent_pipeline"'
      when: never

Relevant logs and/or screenshots

Output of checks

Results of GitLab environment info

GitLab Enterprise Edition 13.9.3-ee

Edited Jul 28, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading