Skip to content

chore: Upgrade Go toolchain to 1.26 #4365

@behzad-mir

Description

@behzad-mir

Summary

Upgrade the Go toolchain from 1.24 to 1.26 across the ACN repository.

Prerequisites

Motivation

  • Go 1.26 enforces FIPS-compliant system crypto
  • Security patches and performance improvements
  • Ecosystem compatibility

Files to Update

Template-managed (auto via make dockerfiles)

  • build/images.mk GO_IMG: 1.24-azurelinux3.01.26-azurelinux3.0
  • Regenerate all Dockerfiles: make dockerfiles

Manual updates

  • go.mod: go 1.24.1go 1.26 + go mod tidy
  • .pipelines/build/scripts/install-go.sh: update DEFAULT_IMAGE SHA
  • bpf-prog/ipv6-hp-bpf/linux.Dockerfile: update to Go 1.26 MCR SHA
  • npm/linux.Dockerfile: update tag to 1.26.x
  • npm/windows.Dockerfile: update tag to 1.26.x
  • .devcontainer/Dockerfile: VARIANT="1.24""1.26"

SHA Lookup Commands

# azurelinux3.0
skopeo inspect docker://mcr.microsoft.com/oss/go/microsoft/golang:1.26-azurelinux3.0 --format "{{.Digest}}"

# MCR Go (for bpf-prog)
skopeo inspect docker://mcr.microsoft.com/oss/go/microsoft/golang:1.26 --format "{{.Digest}}"

Verification

  • docker run --rm <image>@<sha> go version confirms Go 1.26
  • Pipeline passes — check "Install msft-go" logs for correct SHA
  • go mod tidy completes without errors
  • ARM and AMD builds both succeed

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleStale due to inactivity.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions