Skip to content

Allow child pipelines to inherit global default parameters

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

Proposal

Tagging jobs allows teams to select which jobs are executed on specified runners. Today tags can be set globally within the root .gitlab-ci.yml by using the default parameter

stages:
    - security_scanning

default: << # Specifying global runner to use based off `tag`
    tags:
        - docker

security_scans:
    stage: security_scanning
    trigger:
        include:
        - local: ".gitlab-ci/security.yml"

When using tags as a default parameter, the value does not inherit to triggered (child pipeline) jobs and the workaround is to explicitly define the global tag within each child pipeline yml file included .gitlab-ci/security.yml

variables:
  SECURE_LOG_LEVEL: debug
  SEARCH_MAX_DEPTH: 10

default: << # Specifying global runner once more as its not inherited from root .gitlab-ci.yml
    tags:
        - docker
        
include:
  - template: SAST.gitlab-ci.yml
  - template: Dependency-Scanning.gitlab-ci.yml
  - template: Security/License-Scanning.gitlab-ci.yml
  - template: Secret-Detection.gitlab-ci.yml

I believe it would be a nice addition to allow default parameter inherency for triggered jobs (child pipelines) especially pipelines that have a large numbers of triggered jobs used.

This feature would prevent duplication of effort updating each child yml included and allow for less complexity and greater standardization across included pipeline templates, however you could choose to allow the capability to override the global parameter at the child yml level.

Edited by 🤖 GitLab Bot 🤖