From 70766206d98508a905bba435e70e800e4b35580e Mon Sep 17 00:00:00 2001 From: Bryce Palmer Date: Mon, 22 Sep 2025 14:39:09 -0400 Subject: [PATCH] (bugfix): fix crdify generator to also return an aggregated error when validations fail Signed-off-by: Bryce Palmer --- tools/codegen/pkg/crdify/generator.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/codegen/pkg/crdify/generator.go b/tools/codegen/pkg/crdify/generator.go index b53e87d8d0a..725481f5570 100644 --- a/tools/codegen/pkg/crdify/generator.go +++ b/tools/codegen/pkg/crdify/generator.go @@ -210,7 +210,9 @@ func (g *generator) genGroupVersion(name string, version generation.APIVersionCo for _, crdResults := range runResults.CRDValidation { for _, err := range crdResults.Errors { - result.Errors = append(result.Errors, fmt.Errorf("%s: %w", crdResults.Name, errors.New(err))) + resErr := fmt.Errorf("%s: %w", crdResults.Name, errors.New(err)) + result.Errors = append(result.Errors, resErr) + errs = append(errs, resErr) } for _, warn := range crdResults.Warnings { @@ -220,7 +222,9 @@ func (g *generator) genGroupVersion(name string, version generation.APIVersionCo versionedResultFunc := func(version, property string, compResult validations.ComparisonResult) { for _, err := range compResult.Errors { - result.Errors = append(result.Errors, fmt.Errorf("(%s) %s - %s: %w", version, property, compResult.Name, errors.New(err))) + resErr := fmt.Errorf("(%s) %s - %s: %w", version, property, compResult.Name, errors.New(err)) + result.Errors = append(result.Errors, resErr) + errs = append(errs, resErr) } for _, warn := range compResult.Warnings { @@ -234,6 +238,10 @@ func (g *generator) genGroupVersion(name string, version generation.APIVersionCo results = append(results, result) } + if len(errs) > 0 { + return results, kerrors.NewAggregate(errs) + } + return results, nil }