-
Notifications
You must be signed in to change notification settings - Fork 1.3k
chore!: upgrade to Go 1.24 #13354
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
chore!: upgrade to Go 1.24 #13354
Conversation
86e74ad
to
723f50a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please update the PR title to match https://github.com/filecoin-project/lotus/blob/master/CONTRIBUTING.md#pr-title-conventions
PR title now matches the required format.
Updated Go version references and commands in the contributing guide.
There was a problem hiding this 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 version from 1.23.10 to 1.24.7 following the repository's Go version management policy. The upgrade is comprehensive, updating all configuration files, documentation, and build tooling to support the new Go version.
- Updates Go version specification across all configuration files and documentation
- Replaces deprecated
runtime.GOROOT()
calls with dynamicgo env GOROOT
command execution - Updates golangci-lint to v1.64.8 and adds new lint rule exclusions for Go 1.24 compatibility
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
go.mod | Updates Go version directive from 1.23.10 to 1.24.7 |
GO_VERSION_MIN | Updates minimum Go version requirement to 1.24.7 |
README.md | Updates Go version references in badges and installation instructions |
Dockerfile | Updates base image from golang:1.23.10-bullseye to golang:1.24.7-bookworm |
Makefile | Updates golangci-lint version to v1.64.8 |
.golangci.yml | Adds exclusions for new Go 1.24 lint warnings |
CHANGELOG.md | Documents the Go version upgrade |
CONTRIBUTING.md | Updates Go version management documentation with examples |
api/api_test.go | Replaces runtime.GOROOT() with dynamic goRoot() function |
node/config/dep_test.go | Replaces runtime.GOROOT() with dynamic goRoot() function |
chain/types/ethtypes/rlp.go | Fixes unreachable code by restructuring if-else logic |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! Will start running the main branch with go updated on my node tomorrow after the network upgrade
Related Issues
Proposed Changes
This PR updates Go version used in this repo to 1.24.7 following the repo's go version policy
Additional Info
golangci-lint v1.64 is the last version in the v1 lineage. It has moved on to v2 now. v1.64 does not support Go 1.25 so we'll have to upgrade to v2 before we move on to Go 1.25 ourselves.
Checklist
Before you mark the PR ready for review, please make sure that: