Support local for local file include for inputs
As part of being able to include inputs defined in a different yaml file inside a same project, we want to support local keyword in spec:include: as defined follows:
Inputs defined in another yaml (ci/inputs.yml) file:
inputs:
environment:
default: "staging"
options: ["development", "staging", "production"]
app_version:
default: "1.0.0"
replicas:
type: number
default: 3
Using the same file in the main .gitlab-ci.yml file:
spec:
include:
- local: '/ci/inputs.yml'
inputs:
job_prefix:
description: "Prefix for job names (inline)"
default: "inline"
environment:
default: "production" # This should override external
---
$[[ inputs.job_prefix ]]-test:
script:
- echo "Environment (should be inline-production):" $[[ inputs.environment ]]
- echo "Job prefix (inline only):" $[[ inputs.job_prefix ]]
- echo "App version (from external):" $[[ inputs.app_version ]]
- echo "Replicas (from external):" $[[ inputs.replicas ]]
POC MR for this feature support: !197684 (closed)
Edited by Rajendra Kadam