Skip to content

build: bump Go toolchain to 1.26.3#1048

Merged
jimmidyson merged 1 commit into
mainfrom
chore/update-go-latest
May 19, 2026
Merged

build: bump Go toolchain to 1.26.3#1048
jimmidyson merged 1 commit into
mainfrom
chore/update-go-latest

Conversation

@jimmidyson

@jimmidyson jimmidyson commented May 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Toolchain

  • Bump Go toolchain to go1.26.3 across all three modules (root, cmd/copy-file-to-pod, cmd/wait-for-files-to-exist) via task go:mod-edit-toolchain GO_TOOLCHAIN_VERSION=1.26.3.

  • devbox.lock updated via devbox update:

    • go@latest 1.25.5 → 1.26.2
    • govulncheck@latest 1.1.4 → 1.3.0
    • golangci-lint@latest 2.7.2 → 2.12.2

    devbox.json already pins these to latest; no change needed.

devbox-installed Go is 1.26.2 (nixpkgs hasn't published 1.26.3 yet); the toolchain go1.26.3 directive will auto-download 1.26.3 via Go's toolchain mechanism for builds.

Security

  • Bump golang.org/x/net 0.38.0 → 0.53.0 in cmd/copy-file-to-pod to fix GO-2026-4918 (HTTP/2 infinite loop on bad SETTINGS_MAX_FRAME_SIZE), surfaced by govulncheck against the new toolchain. Side effects of go mod tidy: transitive x/sync, x/sys, x/term, x/text bumps; the go directive moved 1.24.0 → 1.25.0 (required by x/net@v0.53.0).

Dependabot

  • Extend the gomod ecosystem config to also cover /cmd/copy-file-to-pod/ and /cmd/wait-for-files-to-exist/ so the submodules receive patch/minor updates going forward.

Lint cleanup

The golangci-lint 2.7.2 → 2.12.2 bump surfaces new/stricter rules. Addressed as follows:

  • Auto-fixes from golangci-lint run --fix: interface{}any, slices.Contains / slices.ContainsFunc modernization, line wrapping.
  • .golangci.yml:
    • Migrate gomodguardgomodguard_v2 (deprecated since 2.12.0).
    • Exclude goconst from _test.go — extracting constants for every repeated test-fixture string is low-value churn.
    • Exclude gosec G122 (filepath.Walk symlink TOCTOU) from _test.go and test helpers — false-positives in tests that own their temp dirs.
  • prealloc fixes in containerd/ctr.go, cmd/mindthegap/push/bundle/bundle.go, cmd/mindthegap/push/imagearchive/image_archive.go, and cmd/mindthegap/flags/platforms_flag_test.go.

Test plan

  • task go:vulncheck — no vulnerabilities across all three modules
  • task go:lint — 0 issues across all three modules, no deprecation warnings
  • go test ./... (root) — all packages pass
  • go test ./... for affected packages after prealloc changes — pass
  • CI: lint + full test suite
  • CI: e2e

@jimmidyson jimmidyson force-pushed the chore/update-go-latest branch from 9f8d117 to 045a850 Compare May 19, 2026 18:02
@github-actions

github-actions Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

Unit test results

156 tests  ±0   156 ✅ ±0   0s ⏱️ ±0s
 30 suites ±0     0 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit f99bf53. ± Comparison against base commit fc6722c.

♻️ This comment has been updated with latest results.

devbox.lock (via devbox update):
- go@latest: 1.25.5 -> 1.26.2
- govulncheck@latest: 1.1.4 -> 1.3.0
- golangci-lint@latest: 2.7.2 -> 2.12.2

devbox.json already pins these to latest; no change needed.

go modules (via `task go:mod-edit-toolchain GO_TOOLCHAIN_VERSION=1.26.3`):
- All three go.mods now use `toolchain go1.26.3` (root, cmd/copy-file-to-pod,
  cmd/wait-for-files-to-exist).
- cmd/copy-file-to-pod: bump golang.org/x/net 0.38.0 -> 0.53.0 to fix
  GO-2026-4918 (HTTP/2 infinite loop on bad SETTINGS_MAX_FRAME_SIZE).
  Side effects: transitive x/sync, x/sys, x/term, x/text bumps; `go`
  directive auto-bumped 1.24.0 -> 1.25.0 (required by x/net@v0.53.0).

dependabot:
- Add /cmd/copy-file-to-pod/ and /cmd/wait-for-files-to-exist/ to the
  gomod ecosystem so the submodules receive patch/minor updates.

lint cleanup (golangci-lint 2.12.2 surfaces new/stricter rules):
- Auto-fixes from `golangci-lint run --fix`: interface{} -> any,
  slices.Contains / slices.ContainsFunc modernization, line wrapping.
- .golangci.yml: migrate `gomodguard` -> `gomodguard_v2` (deprecated since
  2.12.0). Exclude goconst from _test.go (test fixture strings), exclude
  gosec G122 (filepath.Walk symlink TOCTOU) from _test.go and test helpers —
  false-positives in tests that own their temp dirs.
- prealloc fixes in containerd/ctr.go, cmd/mindthegap/push/bundle/bundle.go,
  cmd/mindthegap/push/imagearchive/image_archive.go, and
  cmd/mindthegap/flags/platforms_flag_test.go.

govulncheck reports no vulnerabilities across all three modules.
golangci-lint reports 0 issues across all three modules.
@jimmidyson jimmidyson force-pushed the chore/update-go-latest branch from 045a850 to f99bf53 Compare May 19, 2026 18:18
@github-actions

Copy link
Copy Markdown
Contributor

e2e test results

59 tests  ±0   59 ✅ ±0   3m 14s ⏱️ -29s
 3 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit f99bf53. ± Comparison against base commit fc6722c.

@jimmidyson jimmidyson merged commit b4083ee into main May 19, 2026
15 checks passed
@jimmidyson jimmidyson deleted the chore/update-go-latest branch May 19, 2026 18:35
jimmidyson pushed a commit that referenced this pull request May 19, 2026
🤖 I have created a release *beep* *boop*
---


## 1.26.0 (2026-05-19)

<!-- Release notes generated using configuration in .github/release.yaml
at main -->

## What's Changed
### Exciting New Features 🎉
* feat: push OCI/docker image archive tarballs (NCN-113655) by
@jimmidyson in #1038
### Fixes 🔧
* fix: Allow same-host private/loopback registry bearer realms
(NCN-114223) by @jimmidyson in
#1046
### Other Changes
* build: bump Go toolchain to 1.26.3 by @jimmidyson in
#1048


**Full Changelog**:
v1.25.4...v1.26.0

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: mesosphere-actions-pr-bot[bot] <157582460+mesosphere-actions-pr-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant