diff --git a/pkg/apis/pipeline/v1/task_validation.go b/pkg/apis/pipeline/v1/task_validation.go index 4232d295d2b..0ac347e18be 100644 --- a/pkg/apis/pipeline/v1/task_validation.go +++ b/pkg/apis/pipeline/v1/task_validation.go @@ -643,12 +643,13 @@ func validateTaskContextVariables(ctx context.Context, steps []Step) *apis.Field // validateTaskResultsVariables validates if the results referenced in step script are defined in task results func validateTaskResultsVariables(ctx context.Context, steps []Step, results []TaskResult) (errs *apis.FieldError) { - resultsNames := sets.NewString() + taskResultNames := sets.NewString() for _, r := range results { - resultsNames.Insert(r.Name) + taskResultNames.Insert(r.Name) } + for idx, step := range steps { - errs = errs.Also(substitution.ValidateNoReferencesToUnknownVariables(step.Script, "results", resultsNames).ViaField("script").ViaFieldIndex("steps", idx)) + errs = errs.Also(substitution.ValidateNoReferencesToUnknownVariables(step.Script, "results", taskResultNames).ViaField("script").ViaFieldIndex("steps", idx)) } return errs } @@ -859,6 +860,5 @@ func ValidateStepResultsVariables(ctx context.Context, results []StepResult, scr resultsNames.Insert(r.Name) } errs = errs.Also(substitution.ValidateNoReferencesToUnknownVariables(script, "step.results", resultsNames).ViaField("script")) - errs = errs.Also(substitution.ValidateNoReferencesToUnknownVariables(script, "results", resultsNames).ViaField("script")) return errs } diff --git a/pkg/substitution/substitution.go b/pkg/substitution/substitution.go index 8e1acab2fe1..38bfa305448 100644 --- a/pkg/substitution/substitution.go +++ b/pkg/substitution/substitution.go @@ -65,7 +65,7 @@ func ValidateNoReferencesToUnknownVariables(value, prefix string, vars sets.Stri v = TrimArrayIndex(v) if !vars.Has(v) { return &apis.FieldError{ - Message: fmt.Sprintf("non-existent variable in %q", value), + Message: fmt.Sprintf("non-existent variable %s in %q", v, value), // Empty path is required to make the `ViaField`, … work Paths: []string{""}, }