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

Bump Go version to 1.24 #5844

Open
daviddl9 opened this issue Feb 19, 2025 · 2 comments
Open

Bump Go version to 1.24 #5844

daviddl9 opened this issue Feb 19, 2025 · 2 comments

Comments

@daviddl9
Copy link

Description

Update Docker CLI to Go 1.24 to take advantage of several key improvements:

Key benefits:

  • Runtime performance improvements that decrease CPU overhead by 2-3% on average, including a new builtin map implementation and more efficient memory allocation
  • Build improvements including structured JSON output for build/test results and better version information embedding in binaries

I'm happy to help contribute to this update if you could use the assistance! Let me know if you'd like me to submit a PR.

Related:

@thaJeztah
Copy link
Member

👋 for the upcoming v28.0 release, we will be using go1.23, which may be updated to go1.24 in a minor release, but once the v28 release branch is cut (which happens after the v28.0.0 release is out), we'll likely update the master branch in this repository and https://github.com/moby/moby (where the daemon is maintained) to go1.24, but where possible maintain compatible with go1.23.

Our packaging uses the same version of go for both the docker CLI, containerd, runc, and docker engine, and specifically the "lower parts of the stack" on the engine side tends to be using areas of Go that are outside of the Go teams expected use, often show up subtle regressions; for that reason we wait with updating to the latest Go version after having given it some "burn-in" time in CI.

@thaJeztah
Copy link
Member

Oh! I should add that the Dockerfile in this repository has a GO_VERSION build-arg defined to set a custom version of go through the ;

cli/Dockerfile

Lines 7 to 10 in 9e60cfe

ARG GO_VERSION=1.23.6
ARG XX_VERSION=1.6.1
ARG GOVERSIONINFO_VERSION=v1.4.1
ARG GOTESTSUM_VERSION=v1.12.0

Setting that build arg allows you to override the version for testing locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants