diff --git a/pkg/apis/pipeline/v1/merge.go b/pkg/apis/pipeline/v1/merge.go index 45798c3726f..5153a26be5d 100644 --- a/pkg/apis/pipeline/v1/merge.go +++ b/pkg/apis/pipeline/v1/merge.go @@ -60,7 +60,7 @@ func MergeStepsWithStepTemplate(template *StepTemplate, steps []Step) ([]Step, e amendConflictingContainerFields(&merged, s) // Pass through original step Script, for later conversion. - newStep := Step{Script: s.Script, OnError: s.OnError, Timeout: s.Timeout, StdoutConfig: s.StdoutConfig, StderrConfig: s.StderrConfig} + newStep := Step{Script: s.Script, OnError: s.OnError, Timeout: s.Timeout, StdoutConfig: s.StdoutConfig, StderrConfig: s.StderrConfig, Results: s.Results, Params: s.Params} newStep.SetContainerFields(merged) steps[i] = newStep } diff --git a/pkg/apis/pipeline/v1/merge_test.go b/pkg/apis/pipeline/v1/merge_test.go index 3c7db97963c..a7803126556 100644 --- a/pkg/apis/pipeline/v1/merge_test.go +++ b/pkg/apis/pipeline/v1/merge_test.go @@ -127,6 +127,31 @@ func TestMergeStepsWithStepTemplate(t *testing.T) { MountPath: "/workspace/data", }}, }}, + }, { + name: "results-and-params-should-not-be-removed", + template: &v1.StepTemplate{ + Command: []string{"/somecmd"}, + }, + steps: []v1.Step{{ + Image: "some-image", + OnError: "foo", + Results: []v1.StepResult{{ + Name: "result", + }}, + Params: v1.Params{{ + Name: "param", + }}, + }}, + expected: []v1.Step{{ + Command: []string{"/somecmd"}, Image: "some-image", + OnError: "foo", + Results: []v1.StepResult{{ + Name: "result", + }}, + Params: v1.Params{{ + Name: "param", + }}, + }}, }, { name: "merge-env-by-step", template: &v1.StepTemplate{