From ac9c985c6a6abdb39f9f20259961fef0399312c4 Mon Sep 17 00:00:00 2001 From: Sascha Schwarze Date: Wed, 18 Oct 2023 20:53:02 +0200 Subject: [PATCH] Fixes for Beta API and conversion --- pkg/apis/build/v1beta1/build_conversion.go | 17 ++++++-------- pkg/apis/build/v1beta1/buildrun_conversion.go | 23 ++++++++----------- pkg/apis/build/v1beta1/buildrun_types.go | 4 ++-- .../build/v1beta1/zz_generated.deepcopy.go | 6 +---- pkg/webhook/conversion/converter_test.go | 4 ++-- test/e2e/v1beta1/common_suite_test.go | 6 ----- test/v1beta1_samples/catalog.go | 14 +++++------ 7 files changed, 28 insertions(+), 46 deletions(-) diff --git a/pkg/apis/build/v1beta1/build_conversion.go b/pkg/apis/build/v1beta1/build_conversion.go index f1e0f297e..c246cd528 100644 --- a/pkg/apis/build/v1beta1/build_conversion.go +++ b/pkg/apis/build/v1beta1/build_conversion.go @@ -110,7 +110,7 @@ func (dest *BuildSpec) ConvertFrom(orig *v1alpha1.BuildSpec) error { // only interested on spec.sources as long as an item of the list // is of the type LocalCopy. Otherwise, we move into bundle or git types. index, isLocal := v1alpha1.IsLocalCopyType(orig.Sources) - if len(orig.Sources) > 0 && isLocal { + if isLocal { specSource.Type = LocalType specSource.LocalSource = &Local{ Name: orig.Sources[index].Name, @@ -226,15 +226,12 @@ func (dest *BuildSpec) ConvertFrom(orig *v1alpha1.BuildSpec) error { func (dest *BuildSpec) ConvertTo(bs *v1alpha1.BuildSpec) error { // Handle BuildSpec Sources or Source - if dest.Source.Type == LocalType { - bs.Sources = []v1alpha1.BuildSource{} - if dest.Source.LocalSource != nil { - bs.Sources = append(bs.Sources, v1alpha1.BuildSource{ - Name: dest.Source.LocalSource.Name, - Type: v1alpha1.LocalCopy, - Timeout: dest.Source.LocalSource.Timeout, - }) - } + if dest.Source.Type == LocalType && dest.Source.LocalSource != nil { + bs.Sources = append(bs.Sources, v1alpha1.BuildSource{ + Name: dest.Source.LocalSource.Name, + Type: v1alpha1.LocalCopy, + Timeout: dest.Source.LocalSource.Timeout, + }) } else { bs.Source = getAlphaBuildSource(*dest) } diff --git a/pkg/apis/build/v1beta1/buildrun_conversion.go b/pkg/apis/build/v1beta1/buildrun_conversion.go index 26bd9dfca..4d1e213b7 100644 --- a/pkg/apis/build/v1beta1/buildrun_conversion.go +++ b/pkg/apis/build/v1beta1/buildrun_conversion.go @@ -43,15 +43,12 @@ func (src *BuildRun) ConvertTo(ctx context.Context, obj *unstructured.Unstructur } // BuildRunSpec Sources - if src.Spec.Source != nil { - alphaBuildRun.Spec.Sources = []v1alpha1.BuildSource{} - if src.Spec.Source.Type == LocalType { - alphaBuildRun.Spec.Sources = append(alphaBuildRun.Spec.Sources, v1alpha1.BuildSource{ - Name: src.Spec.Source.LocalSource.Name, - Type: v1alpha1.LocalCopy, - Timeout: src.Spec.Source.LocalSource.Timeout, - }) - } + if src.Spec.Source != nil && src.Spec.Source.Type == LocalType && src.Spec.Source.LocalSource != nil { + alphaBuildRun.Spec.Sources = append(alphaBuildRun.Spec.Sources, v1alpha1.BuildSource{ + Name: src.Spec.Source.LocalSource.Name, + Type: v1alpha1.LocalCopy, + Timeout: src.Spec.Source.LocalSource.Timeout, + }) } // BuildRunSpec ServiceAccount @@ -193,11 +190,9 @@ func (src *BuildRun) ConvertFrom(ctx context.Context, obj *unstructured.Unstruct func (dest *BuildRunSpec) ConvertFrom(orig *v1alpha1.BuildRunSpec) error { // BuildRunSpec BuildSpec - dest.Build = &ReferencedBuild{} if orig.BuildSpec != nil { - if dest.Build.Build != nil { - dest.Build.Build.ConvertFrom(orig.BuildSpec) - } + dest.Build.Build = &BuildSpec{} + dest.Build.Build.ConvertFrom(orig.BuildSpec) } if orig.BuildRef != nil { dest.Build.Name = &orig.BuildRef.Name @@ -206,7 +201,7 @@ func (dest *BuildRunSpec) ConvertFrom(orig *v1alpha1.BuildRunSpec) error { // only interested on spec.sources as long as an item of the list // is of the type LocalCopy. Otherwise, we move into bundle or git types. index, isLocal := v1alpha1.IsLocalCopyType(orig.Sources) - if len(orig.Sources) > 0 && isLocal { + if isLocal { dest.Source = &BuildRunSource{ Type: LocalType, LocalSource: &Local{ diff --git a/pkg/apis/build/v1beta1/buildrun_types.go b/pkg/apis/build/v1beta1/buildrun_types.go index 87eed134f..2880a4213 100644 --- a/pkg/apis/build/v1beta1/buildrun_types.go +++ b/pkg/apis/build/v1beta1/buildrun_types.go @@ -37,7 +37,7 @@ type BuildRunSpec struct { // Build refers to an embedded build specification // This field is mandatory // - Build *ReferencedBuild `json:"build"` + Build ReferencedBuild `json:"build"` // Source refers to the location where the source code is, // this could only be a local source @@ -379,7 +379,7 @@ func (brs *BuildRunStatus) SetCondition(condition *Condition) { // BuildName returns the name of the associated build, which can be a referenced // build resource or an embedded build specification func (buildrunSpec *BuildRunSpec) BuildName() string { - if buildrunSpec.Build != nil { + if buildrunSpec.Build.Name != nil { return *buildrunSpec.Build.Name } diff --git a/pkg/apis/build/v1beta1/zz_generated.deepcopy.go b/pkg/apis/build/v1beta1/zz_generated.deepcopy.go index 842578b49..f7660573f 100644 --- a/pkg/apis/build/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/build/v1beta1/zz_generated.deepcopy.go @@ -228,11 +228,7 @@ func (in *BuildRunSource) DeepCopy() *BuildRunSource { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BuildRunSpec) DeepCopyInto(out *BuildRunSpec) { *out = *in - if in.Build != nil { - in, out := &in.Build, &out.Build - *out = new(ReferencedBuild) - (*in).DeepCopyInto(*out) - } + in.Build.DeepCopyInto(&out.Build) if in.Source != nil { in, out := &in.Source, &out.Source *out = new(BuildRunSource) diff --git a/pkg/webhook/conversion/converter_test.go b/pkg/webhook/conversion/converter_test.go index ae9c39193..a6967bb84 100644 --- a/pkg/webhook/conversion/converter_test.go +++ b/pkg/webhook/conversion/converter_test.go @@ -1077,7 +1077,7 @@ request: Kind: "BuildRun", }, Spec: v1beta1.BuildRunSpec{ - Build: &v1beta1.ReferencedBuild{ + Build: v1beta1.ReferencedBuild{ Name: pointer.String("a_build"), }, Source: &v1beta1.BuildRunSource{ @@ -1161,7 +1161,7 @@ request: Kind: "BuildRun", }, Spec: v1beta1.BuildRunSpec{ - Build: &v1beta1.ReferencedBuild{ + Build: v1beta1.ReferencedBuild{ Name: pointer.String("a_build"), }, ServiceAccount: &sa, diff --git a/test/e2e/v1beta1/common_suite_test.go b/test/e2e/v1beta1/common_suite_test.go index 24b396d08..a898b3ede 100644 --- a/test/e2e/v1beta1/common_suite_test.go +++ b/test/e2e/v1beta1/common_suite_test.go @@ -280,18 +280,12 @@ func (b *buildRunPrototype) Namespace(namespace string) *buildRunPrototype { } func (b *buildRunPrototype) ForBuild(build *buildv1beta1.Build) *buildRunPrototype { - if b.buildRun.Spec.Build == nil { - b.buildRun.Spec.Build = &buildv1beta1.ReferencedBuild{} - } b.buildRun.Spec.Build.Name = &build.Name b.buildRun.ObjectMeta.Namespace = build.Namespace return b } func (b *buildRunPrototype) WithBuildSpec(buildSpec *buildv1beta1.BuildSpec) *buildRunPrototype { - if b.buildRun.Spec.Build == nil { - b.buildRun.Spec.Build = &buildv1beta1.ReferencedBuild{} - } b.buildRun.Spec.Build.Build = buildSpec return b } diff --git a/test/v1beta1_samples/catalog.go b/test/v1beta1_samples/catalog.go index 7cf2defe8..177291b74 100644 --- a/test/v1beta1_samples/catalog.go +++ b/test/v1beta1_samples/catalog.go @@ -784,7 +784,7 @@ func (c *Catalog) DefaultBuildRun(buildRunName string, buildName string) *build. Name: buildRunName, }, Spec: build.BuildRunSpec{ - Build: &build.ReferencedBuild{ + Build: build.ReferencedBuild{ Name: &buildName, }, }, @@ -829,7 +829,7 @@ func (c *Catalog) BuildRunWithBuildSnapshot(buildRunName string, buildName strin }, }, Spec: build.BuildRunSpec{ - Build: &build.ReferencedBuild{ + Build: build.ReferencedBuild{ Name: &buildName, }, }, @@ -854,7 +854,7 @@ func (c *Catalog) BuildRunWithExistingOwnerReferences(buildRunName string, build OwnerReferences: []metav1.OwnerReference{fakeOwnerRef}, }, Spec: build.BuildRunSpec{ - Build: &build.ReferencedBuild{ + Build: build.ReferencedBuild{ Name: &buildName, }, }, @@ -870,7 +870,7 @@ func (c *Catalog) BuildRunWithFakeNamespace(buildRunName string, buildName strin Namespace: "foobarns", }, Spec: build.BuildRunSpec{ - Build: &build.ReferencedBuild{ + Build: build.ReferencedBuild{ Name: &buildName, }, }, @@ -959,7 +959,7 @@ func (c *Catalog) BuildRunWithSA(buildRunName string, buildName string, saName s Name: buildRunName, }, Spec: build.BuildRunSpec{ - Build: &build.ReferencedBuild{ + Build: build.ReferencedBuild{ Name: &buildName, }, ServiceAccount: &saName, @@ -975,7 +975,7 @@ func (c *Catalog) BuildRunWithoutSA(buildRunName string, buildName string) *buil Name: buildRunName, }, Spec: build.BuildRunSpec{ - Build: &build.ReferencedBuild{ + Build: build.ReferencedBuild{ Name: &buildName, }, ServiceAccount: nil, @@ -991,7 +991,7 @@ func (c *Catalog) BuildRunWithSAGenerate(buildRunName string, buildName string) Name: buildRunName, }, Spec: build.BuildRunSpec{ - Build: &build.ReferencedBuild{ + Build: build.ReferencedBuild{ Name: &buildName, }, ServiceAccount: pointer.String(".generate"),