Skip to content

Commit

Permalink
TEP-0118: Update PipelineTaskResultRefs for Matrix Include Parameters
Browse files Browse the repository at this point in the history
This commit updates PipelineTaskResultRefs for Matrix Include Parameters

Note: This feature is still in preview mode.
  • Loading branch information
EmmaMunley committed Mar 10, 2023
1 parent 672c85d commit 9585ede
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 18 deletions.
8 changes: 1 addition & 7 deletions pkg/apis/pipeline/v1/resultref.go
Original file line number Diff line number Diff line change
Expand Up @@ -200,19 +200,13 @@ func ParseResultName(resultName string) (string, string) {
// in a PipelineTask and returns a list of any references that are found.
func PipelineTaskResultRefs(pt *PipelineTask) []*ResultRef {
refs := []*ResultRef{}
var matrixParams []Param
if pt.IsMatrixed() {
matrixParams = pt.Matrix.Params
}
for _, p := range append(pt.Params, matrixParams...) {
for _, p := range pt.extractAllParams() {
expressions, _ := GetVarSubstitutionExpressionsForParam(p)
refs = append(refs, NewResultRefs(expressions)...)
}

for _, whenExpression := range pt.When {
expressions, _ := whenExpression.GetVarSubstitutionExpressions()
refs = append(refs, NewResultRefs(expressions)...)
}

return refs
}
13 changes: 11 additions & 2 deletions pkg/apis/pipeline/v1/resultref_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -639,10 +639,16 @@ func TestPipelineTaskResultRefs(t *testing.T) {
},
}},
Matrix: &v1.Matrix{
Include: []v1.MatrixInclude{{
Name: "build-1",
Params: []v1.Param{{
Name: "a-param", Value: *v1.NewStructuredValues("$(tasks.pt5.results.r5)"),
}},
}},
Params: []v1.Param{{
Value: *v1.NewStructuredValues("$(tasks.pt5.results.r5)", "$(tasks.pt6.results.r6)"),
Value: *v1.NewStructuredValues("$(tasks.pt6.results.r6)", "$(tasks.pt7.results.r7)"),
}, {
Value: *v1.NewStructuredValues("$(tasks.pt7.results.r7)", "$(tasks.pt8.results.r8)"),
Value: *v1.NewStructuredValues("$(tasks.pt8.results.r8)", "$(tasks.pt9.results.r9)"),
}}},
}
refs := v1.PipelineTaskResultRefs(&pt)
Expand Down Expand Up @@ -670,6 +676,9 @@ func TestPipelineTaskResultRefs(t *testing.T) {
}, {
PipelineTask: "pt8",
Result: "r8",
}, {
PipelineTask: "pt9",
Result: "r9",
}}
if d := cmp.Diff(refs, expectedRefs, cmpopts.SortSlices(lessResultRef)); d != "" {
t.Errorf("%v", d)
Expand Down
8 changes: 1 addition & 7 deletions pkg/apis/pipeline/v1beta1/resultref.go
Original file line number Diff line number Diff line change
Expand Up @@ -208,19 +208,13 @@ func ParseResultName(resultName string) (string, string) {
// in a PipelineTask and returns a list of any references that are found.
func PipelineTaskResultRefs(pt *PipelineTask) []*ResultRef {
refs := []*ResultRef{}
var matrixParams []Param
if pt.IsMatrixed() {
matrixParams = pt.Matrix.Params
}
for _, p := range append(pt.Params, matrixParams...) {
for _, p := range pt.extractAllParams() {
expressions, _ := GetVarSubstitutionExpressionsForParam(p)
refs = append(refs, NewResultRefs(expressions)...)
}

for _, whenExpression := range pt.WhenExpressions {
expressions, _ := whenExpression.GetVarSubstitutionExpressions()
refs = append(refs, NewResultRefs(expressions)...)
}

return refs
}
13 changes: 11 additions & 2 deletions pkg/apis/pipeline/v1beta1/resultref_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -639,10 +639,16 @@ func TestPipelineTaskResultRefs(t *testing.T) {
},
}},
Matrix: &v1beta1.Matrix{
Include: []v1beta1.MatrixInclude{{
Name: "build-1",
Params: v1beta1.Params{{
Name: "a-param", Value: *v1beta1.NewStructuredValues("$(tasks.pt5.results.r5)"),
}},
}},
Params: []v1beta1.Param{{
Value: *v1beta1.NewStructuredValues("$(tasks.pt5.results.r5)", "$(tasks.pt6.results.r6)"),
Value: *v1beta1.NewStructuredValues("$(tasks.pt6.results.r6)", "$(tasks.pt7.results.r7)"),
}, {
Value: *v1beta1.NewStructuredValues("$(tasks.pt7.results.r7)", "$(tasks.pt8.results.r8)"),
Value: *v1beta1.NewStructuredValues("$(tasks.pt8.results.r8)", "$(tasks.pt9.results.r9)"),
}}},
}
refs := v1beta1.PipelineTaskResultRefs(&pt)
Expand Down Expand Up @@ -670,6 +676,9 @@ func TestPipelineTaskResultRefs(t *testing.T) {
}, {
PipelineTask: "pt8",
Result: "r8",
}, {
PipelineTask: "pt9",
Result: "r9",
}}
if d := cmp.Diff(refs, expectedRefs, cmpopts.SortSlices(lessResultRef)); d != "" {
t.Errorf("%v", d)
Expand Down

0 comments on commit 9585ede

Please sign in to comment.