-
Notifications
You must be signed in to change notification settings - Fork 254
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
🌱 Bump golang to v1.22 #1671
🌱 Bump golang to v1.22 #1671
Conversation
/hold |
/retest |
/retest |
/ok-to-test |
/retest |
Do we have a need to bump it? Doing so complicates local development for everyone who is not on the bleeding edge like me.
We're also going to force the bump on any downstream consumers, whether they're ready or not. |
Golang 1.21 end of support date is 2024-08-08, so we need to bump to it sooner or later. Since we need to maintain our releases for roughly a year, we'll need to bump to it release branches as well (we did the same for 1.20 -> 1.21 too when it went EOS). So we might hold off for a while, but we need to bump it before next minor anyways. The later we do it, the less testing it gets, so there is trade-off. |
Also, we already have dependencies we cannot bump, because they have moved to 1.22, like metal3-io/cluster-api-provider-metal3#1617 |
Yes, I agree with @tuminoid , the sooner we do it, the better, projects like k8s itself, CAPI etc have already bumped it to 1.22 in main branch, I was waiting for BMO to be ready to make it in all metal3 main branches where applicable. |
I'm not following the logic. I thought the directive in go.mod only states the minimum version and users are welcome to use newer ones? My objection holds: we're pushing the change even on users of distributions that will maintain Go beyond its EOS date. If/when we're forced to make the change because of a dependency bump, it's fine by me. |
You're correct, go.mod bump is not strictly necessary. However, when Go 1.21 reaches EOS, is there an actual reason to keep it? Users should be using Go 1.22 at that point and it is only 2 months away. We do have some deps requiring it lined up, so it will be soon at least partially forced on us as well, so IMO it is cleaner to also switch directive to |
The lack of go 1.22 in the workflows blocks this PR #1751 |
The distributions don't move so quickly as we'd wish. Also, bumping Go versions should not be taken easily: I've just spent a whole morning on an enormous patch to move one of our components to Go 1.22 because the old controller-runtime segfaulted on it. If we're forced by gophercloud, so be it. But I don't want such bumps (in go.mod specifically, not in workflows) to become a standard practice. |
Signed-off-by: Kashif Khan <kashif.khan@est.tech>
Signed-off-by: Kashif Khan <kashif.khan@est.tech>
looks like the failure in E2E fixture test was related to the test itself, it needed to setup the correct go version, so my worry about fixing the go patch version in toolchain doesnt seem to be valid which is good. |
/retest |
/test metal3-bmo-e2e-test-pull |
/lgtm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: lentzi90 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This PR bumps the golang version to v1.22 in different go modules, tests and Dockerfile.