Skip to content

Commit 808c7fe

Browse files
EmmaMunleytekton-robot
authored andcommitted
TEP-0118: Update Pipeline Conversion for Matrix Include Parameters
This commit updates Pipeline Conversion to convert Matrix Include Parameters Note: This feature is still in preview mode.
1 parent bb8068f commit 808c7fe

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

pkg/apis/pipeline/v1beta1/pipeline_conversion.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,14 @@ func (m *Matrix) convertTo(ctx context.Context, sink *v1.Matrix) {
259259
param.convertTo(ctx, &new)
260260
sink.Params = append(sink.Params, new)
261261
}
262+
for i, include := range m.Include {
263+
sink.Include = append(sink.Include, v1.MatrixInclude{Name: include.Name})
264+
for _, param := range include.Params {
265+
newIncludeParam := v1.Param{}
266+
param.convertTo(ctx, &newIncludeParam)
267+
sink.Include[i].Params = append(sink.Include[i].Params, newIncludeParam)
268+
}
269+
}
262270
}
263271

264272
func (m *Matrix) convertFrom(ctx context.Context, source v1.Matrix) {
@@ -267,6 +275,15 @@ func (m *Matrix) convertFrom(ctx context.Context, source v1.Matrix) {
267275
new.convertFrom(ctx, param)
268276
m.Params = append(m.Params, new)
269277
}
278+
279+
for i, include := range source.Include {
280+
m.Include = append(m.Include, MatrixInclude{Name: include.Name})
281+
for _, p := range include.Params {
282+
new := Param{}
283+
new.convertFrom(ctx, p)
284+
m.Include[i].Params = append(m.Include[i].Params, new)
285+
}
286+
}
270287
}
271288

272289
func (pr PipelineResult) convertTo(ctx context.Context, sink *v1.PipelineResult) {

pkg/apis/pipeline/v1beta1/pipeline_conversion_test.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,21 @@ func TestPipelineConversion(t *testing.T) {
108108
},
109109
}},
110110
Matrix: &v1beta1.Matrix{
111-
Params: []v1beta1.Param{{
111+
Params: v1beta1.Params{{
112112
Name: "a-param",
113113
Value: v1beta1.ParamValue{
114114
Type: v1beta1.ParamTypeArray,
115115
ArrayVal: []string{"$(params.baz)", "and", "$(params.foo-is-baz)"},
116116
},
117-
}}},
117+
}},
118+
Include: []v1beta1.MatrixInclude{{
119+
Name: "baz",
120+
Params: v1beta1.Params{{
121+
Name: "a-param", Value: v1beta1.ParamValue{Type: v1beta1.ParamTypeString, StringVal: "$(params.baz)"},
122+
}, {
123+
Name: "flags", Value: v1beta1.ParamValue{Type: v1beta1.ParamTypeString, StringVal: "-cover -v"}}},
124+
}},
125+
},
118126
Workspaces: []v1beta1.WorkspacePipelineTaskBinding{{
119127
Name: "my-task-workspace",
120128
Workspace: "source",

0 commit comments

Comments
 (0)