Allow child pipelines to inherit global default parameters
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.