feat(requires): support variable references in enum constraints (#2678)

This commit is contained in:
Valentin Maerten
2026-03-21 11:32:02 +01:00
committed by GitHub
parent 19d8fae5f9
commit 8b6aca5722
16 changed files with 268 additions and 16 deletions

View File

@@ -1,5 +1,9 @@
version: '3'
vars:
ALLOWED_ENVS: ["dev", "staging", "prod"]
NOT_A_LIST: "this is a string"
tasks:
default:
- task: missing-var
@@ -41,3 +45,27 @@ tasks:
{{range .MY_VAR | splitList " " }}
echo {{.}}
{{end}}
validation-var-ref:
requires:
vars:
- name: ENV
enum:
ref: .ALLOWED_ENVS
cmd: echo "{{.ENV}}"
validation-var-ref-invalid:
requires:
vars:
- name: VALUE
enum:
ref: .NOT_A_LIST
cmd: echo "{{.VALUE}}"
validation-var-ref-nonexistent:
requires:
vars:
- name: ENV
enum:
ref: .NONEXISTENT_VAR
cmd: echo "{{.ENV}}"

View File

@@ -0,0 +1,2 @@
task: Task "validation-var-ref" cancelled because it is missing required variables:
- ENV has an invalid value : 'invalid' (allowed values : [dev staging prod])

View File

@@ -0,0 +1,2 @@
task: [validation-var-ref] echo "dev"
dev

View File

@@ -0,0 +1 @@
enum reference ".NOT_A_LIST" must resolve to a list

View File

@@ -0,0 +1 @@
enum reference ".NONEXISTENT_VAR" must resolve to a list