Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V1: add conversion for PipelineRunSpec.PipelineRef.Bundle #5477

Merged
merged 1 commit into from
Sep 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions pkg/apis/pipeline/v1beta1/pipeline_conversion_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@ func TestPipelineConversionBadType(t *testing.T) {
}

func TestPipelineConversion(t *testing.T) {
versions := []apis.Convertible{&v1.Pipeline{}}

tests := []struct {
name string
in *v1beta1.Pipeline
Expand Down Expand Up @@ -150,6 +148,7 @@ func TestPipelineConversion(t *testing.T) {
}}

for _, test := range tests {
versions := []apis.Convertible{&v1.Pipeline{}}
for _, version := range versions {
t.Run(test.name, func(t *testing.T) {
ver := version
Expand All @@ -172,7 +171,6 @@ func TestPipelineConversion(t *testing.T) {
}

func TestPipelineConversionFromDeprecated(t *testing.T) {
versions := []apis.Convertible{&v1.Pipeline{}}
tests := []struct {
name string
in *v1beta1.Pipeline
Expand Down Expand Up @@ -219,6 +217,7 @@ func TestPipelineConversionFromDeprecated(t *testing.T) {
}}

for _, test := range tests {
versions := []apis.Convertible{&v1.Pipeline{}}
for _, version := range versions {
t.Run(test.name, func(t *testing.T) {
ver := version
Expand Down
24 changes: 22 additions & 2 deletions pkg/apis/pipeline/v1beta1/pipelineref_conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,37 @@ import (
func (pr PipelineRef) convertTo(ctx context.Context, sink *v1.PipelineRef) {
sink.Name = pr.Name
sink.APIVersion = pr.APIVersion
// TODO: handle bundle in #4546
new := v1.ResolverRef{}
pr.ResolverRef.convertTo(ctx, &new)
sink.ResolverRef = new
pr.convertBundleToResolver(sink)
}

func (pr *PipelineRef) convertFrom(ctx context.Context, source v1.PipelineRef) {
pr.Name = source.Name
pr.APIVersion = source.APIVersion
// TODO: handle bundle in #4546
new := ResolverRef{}
new.convertFrom(ctx, source.ResolverRef)
pr.ResolverRef = new
}

// convertBundleToResolver converts v1beta1 bundle string to a remote reference with the bundle resolver in v1.
// The conversion from Resolver to Bundle is not being supported since remote resolution would be turned on by
// default and it will be in beta before the stored version of CRD getting swapped to v1.
func (pr PipelineRef) convertBundleToResolver(sink *v1.PipelineRef) {
if pr.Bundle != "" {
sink.ResolverRef = v1.ResolverRef{
Resolver: "bundles",
Params: []v1.Param{{
Name: "bundle",
Value: v1.ParamValue{StringVal: pr.Bundle},
}, {
Name: "name",
Value: v1.ParamValue{StringVal: pr.Name},
}, {
Name: "kind",
Value: v1.ParamValue{StringVal: "Task"},
}},
}
}
}
39 changes: 35 additions & 4 deletions pkg/apis/pipeline/v1beta1/pipelinerun_conversion_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,6 @@ func TestPipelineRunConversionBadType(t *testing.T) {
}

func TestPipelineRunConversion(t *testing.T) {
versions := []apis.Convertible{&v1.PipelineRun{}}

tests := []struct {
name string
in *v1beta1.PipelineRun
Expand Down Expand Up @@ -148,6 +146,7 @@ func TestPipelineRunConversion(t *testing.T) {
},
}}
for _, test := range tests {
versions := []apis.Convertible{&v1.PipelineRun{}}
for _, version := range versions {
t.Run(test.name, func(t *testing.T) {
ver := version
Expand All @@ -170,7 +169,6 @@ func TestPipelineRunConversion(t *testing.T) {
}

func TestPipelineRunConversionFromDeprecated(t *testing.T) {
versions := []apis.Convertible{&v1.PipelineRun{}}
tests := []struct {
name string
in *v1beta1.PipelineRun
Expand Down Expand Up @@ -233,9 +231,42 @@ func TestPipelineRunConversionFromDeprecated(t *testing.T) {
},
},
},
}, {
name: "bundle",
in: &v1beta1.PipelineRun{
ObjectMeta: metav1.ObjectMeta{
Name: "foo",
Namespace: "bar",
},
Spec: v1beta1.PipelineRunSpec{
PipelineRef: &v1beta1.PipelineRef{
Name: "test-bundle-name",
Bundle: "test-bundle",
},
},
},
want: &v1beta1.PipelineRun{
ObjectMeta: metav1.ObjectMeta{
Name: "foo",
Namespace: "bar",
},
Spec: v1beta1.PipelineRunSpec{
PipelineRef: &v1beta1.PipelineRef{
Name: "test-bundle-name",
ResolverRef: v1beta1.ResolverRef{
Resolver: "bundles",
Params: []v1beta1.Param{
{Name: "bundle", Value: v1beta1.ParamValue{StringVal: "test-bundle"}},
{Name: "name", Value: v1beta1.ParamValue{StringVal: "test-bundle-name"}},
{Name: "kind", Value: v1beta1.ParamValue{StringVal: "Task"}},
},
},
},
},
},
}}
// TODO add the cases for bundles #4546
for _, test := range tests {
versions := []apis.Convertible{&v1.PipelineRun{}}
for _, version := range versions {
t.Run(test.name, func(t *testing.T) {
ver := version
Expand Down
5 changes: 2 additions & 3 deletions pkg/apis/pipeline/v1beta1/task_conversion_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@ func TestTaskConversionBadType(t *testing.T) {
}

func TestTaskConversion(t *testing.T) {
versions := []apis.Convertible{&v1.Task{}}

tests := []struct {
name string
in *v1beta1.Task
Expand Down Expand Up @@ -165,6 +163,7 @@ func TestTaskConversion(t *testing.T) {
}}

for _, test := range tests {
versions := []apis.Convertible{&v1.Task{}}
for _, version := range versions {
t.Run(test.name, func(t *testing.T) {
ver := version
Expand All @@ -187,7 +186,6 @@ func TestTaskConversion(t *testing.T) {
}

func TestTaskConversionFromDeprecated(t *testing.T) {
versions := []apis.Convertible{&v1.Task{}}
tests := []struct {
name string
in *v1beta1.Task
Expand Down Expand Up @@ -244,6 +242,7 @@ func TestTaskConversionFromDeprecated(t *testing.T) {
},
}}
for _, test := range tests {
versions := []apis.Convertible{&v1.Task{}}
for _, version := range versions {
t.Run(test.name, func(t *testing.T) {
ver := version
Expand Down
5 changes: 2 additions & 3 deletions pkg/apis/pipeline/v1beta1/taskrun_conversion_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@ func TestTaskRunConversionBadType(t *testing.T) {
}

func TestTaskrunConversion(t *testing.T) {
versions := []apis.Convertible{&v1.TaskRun{}}

tests := []struct {
name string
in *v1beta1.TaskRun
Expand Down Expand Up @@ -173,6 +171,7 @@ func TestTaskrunConversion(t *testing.T) {
}}

for _, test := range tests {
versions := []apis.Convertible{&v1.TaskRun{}}
for _, version := range versions {
t.Run(test.name, func(t *testing.T) {
ver := version
Expand All @@ -195,7 +194,6 @@ func TestTaskrunConversion(t *testing.T) {
}

func TestTaskRunConversionFromDeprecated(t *testing.T) {
versions := []apis.Convertible{&v1.TaskRun{}}
tests := []struct {
name string
in *v1beta1.TaskRun
Expand Down Expand Up @@ -282,6 +280,7 @@ func TestTaskRunConversionFromDeprecated(t *testing.T) {
},
}}
for _, test := range tests {
versions := []apis.Convertible{&v1.TaskRun{}}
for _, version := range versions {
t.Run(test.name, func(t *testing.T) {
ver := version
Expand Down