Skip to content

Time to cut a new release? #407

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

Open
tomasaschan opened this issue Nov 25, 2024 · 5 comments
Open

Time to cut a new release? #407

tomasaschan opened this issue Nov 25, 2024 · 5 comments
Labels
kind/bug Categorizes issue or PR as related to a bug.

Comments

@tomasaschan
Copy link
Member

In one of our projects, we have a dependency on sigs.k8s.io/kubebuilder-declarative-pattern v0.15.0-beta.1.0.20240926141202-cf8082c623b8 where the hash at the end points to the latest commit on master. Everything seems to work.

But if we do go get -u ./... && go mod tidy in this project, it selects v0.15.0-beta.2 which then seems to run into a bunch of compatibility issues with other k8s libraries:

λ go vet ./...                                                
# sigs.k8s.io/kubebuilder-declarative-pattern/commonclient
../../../pkg/mod/sigs.k8s.io/[email protected]/commonclient/factory_cr15.go:14:28: not enough arguments in call to source.Kind
        have ("sigs.k8s.io/controller-runtime/pkg/cache".Cache, client.Object)
        want ("sigs.k8s.io/controller-runtime/pkg/cache".Cache, object, handler.TypedEventHandler[object, reconcile.Request], ...predicate.TypedPredicate[object])
../../../pkg/mod/sigs.k8s.io/[email protected]/commonclient/restmapper_cr15.go:15:17: undefined: apiutil.NewDiscoveryRESTMapper
# sigs.k8s.io/kubebuilder-declarative-pattern/pkg/patterns/declarative/pkg/applier
../../../pkg/mod/sigs.k8s.io/[email protected]/pkg/patterns/declarative/pkg/applier/direct.go:104:59: f.OpenAPIGetter undefined (type "k8s.io/kubectl/pkg/cmd/util".Factory has no field or method OpenAPIGetter)
../../../pkg/mod/sigs.k8s.io/[email protected]/pkg/patterns/declarative/pkg/applier/direct.go:106:77: too many arguments in call to d.inner.NewFactory(opt).Validator
        have (string, *"k8s.io/cli-runtime/pkg/resource".QueryParamVerifier)
        want (string)
../../../pkg/mod/sigs.k8s.io/[email protected]/pkg/patterns/declarative/pkg/applier/direct.go:138:24: cannot use sets.NewString() (value of type "k8s.io/apimachinery/pkg/util/sets".String) as "k8s.io/apimachinery/pkg/util/sets".Set["k8s.io/apimachinery/pkg/types".UID] value in struct literal
../../../pkg/mod/sigs.k8s.io/[email protected]/pkg/patterns/declarative/pkg/applier/direct.go:139:24: cannot use sets.NewString() (value of type "k8s.io/apimachinery/pkg/util/sets".String) as "k8s.io/apimachinery/pkg/util/sets".Set[string] value in struct literal

Is it time to cut a new release to avoid these issues? What is the process for that?

cc @justinsb

@tomasaschan tomasaschan added the kind/bug Categorizes issue or PR as related to a bug. label Nov 25, 2024
@tomasaschan
Copy link
Member Author

I found this document but it refers to the kuberentes-template project so I'm not sure how outdated it is...

@justinsb
Copy link
Contributor

Yes, let's cut a new release. I pulled these two TODOs out of PR #408

TODO: Should we rename master to main now?

TODO: Do we want to do a bulk catch up, where we create releases aligned with each version we missed?

I think we should rename master to main.

We can also do a bulk catch-up if that is useful, bumping controller-runtime versions one major at a time and creating release branches for them. I think we should do that at the same time if we think it's useful. But ... is it useful?

@tomasaschan
Copy link
Member Author

But ... is it useful?

Doubt it. And if someone comes and asks for it, we can always do it later - just cut a new branch, downgrade to the earliest version we haven't published a corresponding release for, and create tags there for each version we need to support (or just all of them while we're st it).

@guillaume86
Copy link
Contributor

Sorry if it's not the best place to ask but I'm a bit lost as a newcomer to the whole ecosystem: is declarative-pattern usable with kubebuilder v4?
And if so, is there an updated tutorial somewhere?

@tomasaschan
Copy link
Member Author

Thanks for the reminder on this!

@justinsb I was going to start cutting branches and tags etc according to the branching docs but it turns out I'm lacking some access to do some of the stuff. We also have this which I don't know if it's enforced by any automation or just a left-over from some template used in the the project inception...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug.
Projects
None yet
Development

No branches or pull requests

3 participants