-
Notifications
You must be signed in to change notification settings - Fork 5.1k
iso: Use same Go version (1.25.5) #22101
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
Conversation
|
/cc @medyagh |
|
/ok-to-build-iso |
|
/ok-to-build-iso |
|
Hi @nirs, building a new ISO failed for Commit 6836e9f |
|
The change does not work, we still install go1.23.4:
@afbjorklund any idea what is missing? |
|
It seems there is a separate line for the ISO: # used by hack/jenkins/release_build_and_upload.sh, see also BUILD_IMAGE below
# update this only by running `make update-golang-version`
GO_VERSION ?= 1.25.5# the go version on the line below is for the ISO
GOLANG_OPTIONS = GOWORK=off GO_VERSION=1.23.4 GO_HASH_FILE=$(PWD)/deploy/iso/minikube-iso/go.hash
BUILDROOT_OPTIONS = BR2_EXTERNAL=../../deploy/iso/minikube-iso $(GOLANG_OPTIONS)I don't think the "go.mk" is used anywhere? In theory the above variable would be enough to override the hash file, but in practice there is no such variable... Probably should be upstreamed properly... The real files for the "go" package are in https://github.com/buildroot/buildroot/tree/2025.02.x/package/go |
|
/ok-to-build-iso |
Thanks, I removed the overrides files and just updated the GOLANG_OPTIONS with same GO_VERSION we use elsewhere.
Trying to make it work first |
|
Hi @nirs, building a new ISO failed for Commit 98550b3 |
|
You still need to update the go.hash file, though. |
The hash faile already have go 1.25.5: But the build downloads the go binary release: Maybe they use binary release if available, and build from source if not? The go.hash in buildroot includes both source and binary hashes: @afbjorklund I guess we should do the same? |
|
There should be a config for that: BR2_PACKAGE_HOST_GO_SRC But then you need more checksums? |
We still use go 1.23.4 which fail to buid runc when updating nerdctl to
latest stable version[1]:
go build -trimpath "-buildmode=pie" -tags "seccomp" -ldflags "-X main.gitCommit=8bd78a9977e604c4d5f67a7415d7b8b8c109cdc4 " -o runc .
# github.com/opencontainers/runc/libcontainer/configs
libcontainer/configs/config.go:332:25: undefined: strings.SplitSeq
strings.SplitSeq was added in go 1.24.0[2]
We use the same GO_VERSION variable for the iso build. This overrides
GO_VERSION in the buildroot go package.
Testing shows that go is installed from binary release, so we have now
checksums for both source and binary releases for amd64 and arm64.
Buildroot builtin go.hash does the same[3].
[1] https://storage.cloud.google.com/minikube-builds/logs/22099/0a27ed4/iso_build.txt
[2] https://pkg.go.dev/strings#SplitSeq
[3] https://github.com/buildroot/buildroot/blob/master/package/go/go.hash
|
/ok-to-build-iso |
|
Hi @nirs, we have updated your PR with the reference to newly built ISO. Pull the changes locally if you want to test with them or update your PR further. |
|
/ok-to-test |
|
kvm2 driver with docker runtime Times for minikube start: 38.5s 40.4s 37.8s 39.9s 38.5s Times for minikube ingress: 15.7s 15.8s 15.8s 15.8s 15.7s docker driver with docker runtime Times for minikube ingress: 10.6s 10.6s 10.6s 10.6s 10.6s Times for minikube start: 23.0s 23.5s 23.8s 19.8s 20.7s docker driver with containerd runtime Times for minikube ingress: 20.1s 20.1s 21.1s 21.1s 20.1s Times for minikube start: 18.4s 22.2s 23.8s 18.5s 20.8s |
|
@nirs: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: medyagh, nirs 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 |
|
Here are the number of top 10 failed tests in each environments with lowest flake rate.
Besides the following environments also have failed tests:
To see the flake rates of all tests by environment, click here. |
We still use go 1.23.4 which fail to buid runc when updating nerdctl to
latest stable version[1]:
strings.SplitSeq was added in go 1.24.0[2]
We use the same GO_VERSION variable for the iso build. This overrides
GO_VERSION in the buildroot go package.
Testing shows that go is installed from binary release, so we have now
checksums for both source and binary releases for amd64 and arm64.
Buildroot builtin go.hash does the same[3].
The golang_version tool need to keep both source a binary releases hashes now (#22106).
[1] https://storage.cloud.google.com/minikube-builds/logs/22099/0a27ed4/iso_build.txt
[2] https://pkg.go.dev/strings#SplitSeq
[3] https://github.com/buildroot/buildroot/blob/master/package/go/go.hash