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

Use go 1.21.0 #3362

Closed
wants to merge 2 commits into from
Closed

Use go 1.21.0 #3362

wants to merge 2 commits into from

Conversation

kke
Copy link
Contributor

@kke kke commented Aug 9, 2023

@kke kke added the dependencies Pull requests that update a dependency file label Aug 9, 2023
@kke kke marked this pull request as ready for review August 9, 2023 08:16
@kke kke requested a review from a team as a code owner August 9, 2023 08:16
@kke kke requested review from makhov and jnummelin August 9, 2023 08:16
makhov
makhov previously approved these changes Aug 9, 2023
ncopa
ncopa previously approved these changes Aug 10, 2023
@twz123
Copy link
Member

twz123 commented Aug 10, 2023

I wonder if we need to fix the release workflow for ARMv7, since Go changed its "dot zero" versioning scheme. Something similar has been done in #3193 for the PR workflows, but the release workflow has been overlooked in that PR:

curl --silent -L "https://go.dev/dl/go${GO_VERSION%%.0}.linux-armv6l.tar.gz" | tar -C "$HOME/.local" -xz

@kke
Copy link
Contributor Author

kke commented Aug 10, 2023

It would be nice if there was a download link for "latest 1.21.x".

With 1.20 the current implementation will download 1.20.0 if you give "1.20" or "1.20.0". (1.20.tar.gz contains v1.20, not the latest v1.20.7).

@kke kke dismissed stale reviews from ncopa and makhov via 31c225f August 10, 2023 11:47
@kke kke requested a review from twz123 August 10, 2023 11:47
@kke
Copy link
Contributor Author

kke commented Aug 10, 2023

Go 1.21 now defines that if a goroutine is panicking and recover was called directly by a deferred function, the return value of recover is guaranteed not to be nil. To ensure this, calling panic with a nil interface value (or an untyped nil) causes a run-time panic of type *runtime.PanicNilError.

To support programs written for older versions of Go, nil panics can be re-enabled by setting GODEBUG=panicnil=1. This setting is enabled automatically when compiling a program whose main package is in a module that declares go 1.20 or earlier.

I think we can just keep 1.19 in go.mod for k8s <= 1.26 and 1.20 for current and build all of them using go 1.21.

(this requires changing the workflows to use a hardcoded version in the setup-go action instead of reading from go.mod)

@ncopa
Copy link
Collaborator

ncopa commented Aug 16, 2023

upstream kubernetes 1.28.0 is built with go1.20.7:

$ go version kubernetes/client/bin/kubectl
kubernetes/client/bin/kubectl: go1.20.7

@kke
Copy link
Contributor Author

kke commented Aug 16, 2023

I think kubernetes/release#3076 is the issue to track

@github-actions
Copy link
Contributor

The PR is marked as stale since no activity has been recorded in 30 days

@github-actions github-actions bot added Stale and removed Stale labels Sep 15, 2023
@github-actions
Copy link
Contributor

The PR is marked as stale since no activity has been recorded in 30 days

@github-actions github-actions bot added Stale and removed Stale labels Oct 18, 2023
Copy link
Contributor

The PR is marked as stale since no activity has been recorded in 30 days

Copy link
Contributor

The PR is marked as stale since no activity has been recorded in 30 days

@github-actions github-actions bot added Stale and removed Stale labels Dec 20, 2023
Copy link
Contributor

github-actions bot commented Jan 5, 2024

This pull request has merge conflicts that need to be resolved.

@kke
Copy link
Contributor Author

kke commented Jan 11, 2024

Already at 1.21.6

@kke kke closed this Jan 11, 2024
@kke kke deleted the go-1.21.0 branch January 11, 2024 08:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file merge-conflict
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants