Skip to content

go: update to 1.26#2697

Open
nkryuchkov wants to merge 4 commits intostagefrom
go-1.26
Open

go: update to 1.26#2697
nkryuchkov wants to merge 4 commits intostagefrom
go-1.26

Conversation

@nkryuchkov
Copy link
Contributor

as per title

@nkryuchkov nkryuchkov requested review from a team as code owners February 20, 2026 16:01
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 20, 2026

Greptile Summary

This PR updates the Go toolchain from version 1.24 to 1.26 across the entire repository. The changes are comprehensive and consistent:

  • All go.mod files updated to go 1.26 with toolchain directives removed
  • Docker images updated from golang:1.24 to golang:1.26 with pinned SHA256 digest (already addressed in previous review thread)
  • GitHub Actions workflows improved by switching from hardcoded go-version: "1.24.x" to go-version-file: go.mod, which automatically reads the version from go.mod and eliminates the need for manual updates in CI
  • Documentation updated to reflect new minimum Go version requirement

The workflow changes represent a best practice improvement - using go-version-file ensures CI automatically stays in sync with the version specified in go.mod, preventing version drift between development and CI environments.

Confidence Score: 5/5

  • This PR is safe to merge with no identified risks
  • The changes are purely version updates with complete consistency across all files. The Go 1.26 upgrade is a straightforward version bump with no breaking changes to the codebase. Docker image digests are properly pinned for reproducibility. The workflow improvements using go-version-file are a best practice that will prevent future version drift.
  • No files require special attention

Important Files Changed

Filename Overview
go.mod Updated Go version from 1.24.6 to 1.26, removed toolchain directive
ssvsigner/go.mod Updated Go version from 1.24.6 to 1.26, removed toolchain directive
tool.mod Updated Go version from 1.24.6 to 1.26, removed toolchain directive
Dockerfile.multiarch Updated golang:1.24.6 to golang:1.26.0 with new SHA256 digest in base and runner stages
.github/workflows/unit-test.yml Changed from hardcoded go-version to go-version-file: go.mod for dynamic version management
.github/workflows/full-test.yml Changed from hardcoded go-version to go-version-file: go.mod for dynamic version management

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Go 1.24 → 1.26 Update] --> B[Module Files]
    A --> C[Docker Images]
    A --> D[CI Workflows]
    A --> E[Documentation]
    
    B --> B1[go.mod: 1.24.6 → 1.26]
    B --> B2[ssvsigner/go.mod: 1.24.6 → 1.26]
    B --> B3[tool.mod: 1.24.6 → 1.26]
    B --> B4[scripts/differ/go.mod: 1.24 → 1.26]
    B1 --> B5[Remove toolchain directive]
    B2 --> B5
    B3 --> B5
    
    C --> C1[Dockerfile: golang:1.24 → 1.26]
    C --> C2[Dockerfile.multiarch: golang:1.24.6 → 1.26.0]
    C --> C3[dev.Dockerfile: golang:1.24 → 1.26]
    C --> C4[tests.Dockerfile: golang:1.24 → 1.26]
    C --> C5[ssvsigner/Dockerfile: golang:1.24 → 1.26]
    C2 --> C6[Pin SHA256 digest]
    
    D --> D1[7 workflow files]
    D1 --> D2[go-version: 1.24.x]
    D2 --> D3[go-version-file: go.mod]
    D3 --> D4[Auto-sync with go.mod]
    
    E --> E1[DEV_GUIDE.md: >=1.24 → >=1.26]
    E --> E2[ssvsigner/e2e/README.md: 1.24+ → 1.26+]
    
    style A fill:#e1f5ff
    style B5 fill:#d4edda
    style C6 fill:#d4edda
    style D4 fill:#d4edda
Loading

Last reviewed commit: ef0d068

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

18 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@nkryuchkov
Copy link
Contributor Author

@greptileai please review it again

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

18 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@codecov
Copy link

codecov bot commented Feb 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 56.1%. Comparing base (20ffb01) to head (e1b5639).

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

iurii-ssv
iurii-ssv previously approved these changes Feb 24, 2026
Copy link
Contributor

@iurii-ssv iurii-ssv left a comment

Choose a reason for hiding this comment

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

LGTM,

I'm wondering though if we should use Golang version-pinning everywhere (as we do in Dockerfile.multiarch) ?

# Conflicts:
#	.github/workflows/dutytracer-bench.yml
#	.github/workflows/full-test.yml
#	.github/workflows/spec-alignment.yml
#	.github/workflows/spec-test-raceless.yml
#	.github/workflows/spec-test.yml
#	.github/workflows/ssvsigner-e2e-test.yml
#	.github/workflows/unit-test.yml
#	Dockerfile
#	Dockerfile.multiarch
#	dev.Dockerfile
#	docs/DEV_GUIDE.md
#	go.mod
#	scripts/differ/go.mod
#	ssvsigner/Dockerfile
#	ssvsigner/e2e/README.md
#	ssvsigner/go.mod
#	tests.Dockerfile
#	tool.mod
@nkryuchkov nkryuchkov requested a review from iurii-ssv February 26, 2026 14:26
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.

2 participants