Skip to content

chore: update to go1.24 #3912

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
wants to merge 14 commits into
base: master
Choose a base branch
from
Open

chore: update to go1.24 #3912

wants to merge 14 commits into from

Conversation

jpayne3506
Copy link
Contributor

@jpayne3506 jpayne3506 commented Aug 8, 2025

Reason for Change:

Takes on intent from #3467 and rebases it with new changes, notably make dockerfiles which leverages renderkit

Additionally:

  • creates a new go.mod at root level to ensure that tool dependencies do not conflict with our components.
    • this also requires us to point at the respective tools.go.mod to use i.e. go tools -modfile=tools.go.mod controller-gen ...
  • adds make regenerate-crd to match make dockerfiles interaction with GH workflow
  • cleans up *printf usages - https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/printf#hdr-Examples

Issue Fixed:

Requirements:

Notes:

@Copilot Copilot AI review requested due to automatic review settings August 8, 2025 18:27
@jpayne3506 jpayne3506 requested a review from rayaisaiah August 8, 2025 18:27
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR upgrades the Go runtime from version 1.23 to 1.24.0 across the Azure Container Networking project. It consolidates tool management by moving from separate tool binaries to leveraging Go 1.24's built-in tool support and removes several obsolete toolbox components.

  • Upgrades Go version from 1.23.x to 1.24.0 across all modules and Docker images
  • Refactors tool management to use go tool commands instead of separate binary builds
  • Removes deprecated toolbox server and manifest files

Reviewed Changes

Copilot reviewed 46 out of 50 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
go.mod, zapai/go.mod, dropgz/go.mod, etc. Update Go version to 1.24.0 and related dependency versions
tools.go.mod Restructure from traditional require statements to Go 1.24's tool directive
Makefile, platform/Makefile, various CRD Makefiles Replace tool binary paths with go tool commands
Dockerfiles Update base Go images to 1.24 versions with new SHA digests
hack/toolbox/* Remove deprecated toolbox server implementation and manifests
GitHub workflows Update to use go-version-file instead of hardcoded versions

@jpayne3506 jpayne3506 force-pushed the jpayne/go1.24 branch 11 times, most recently from 2dff178 to a507f8c Compare August 8, 2025 20:41
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@jpayne3506 jpayne3506 self-assigned this Aug 11, 2025
@jpayne3506 jpayne3506 added ci Infra or tooling. go Pull requests that update Go code labels Aug 11, 2025
QxBytes
QxBytes previously approved these changes Aug 11, 2025
rayaisaiah
rayaisaiah previously approved these changes Aug 12, 2025
camrynl
camrynl previously approved these changes Aug 12, 2025
@jpayne3506 jpayne3506 dismissed stale reviews from camrynl, rayaisaiah, and QxBytes via 594cfde August 12, 2025 18:48
@jpayne3506
Copy link
Contributor Author

https://github.com/Azure/azure-container-networking/actions/runs/16919035614/job/47940263622?pr=3912
Windows NPM is not being maintained past 1.6. Not in scope for PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Infra or tooling. go Pull requests that update Go code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants