[main] Upgrade the Golang version to go1.27.0 - #20875
Conversation
|
Hello! 👋 This Pull Request is now handled by arewefastyet. The current HEAD and future commits will be benchmarked. You can find the performance comparison on the arewefastyet website. |
Review ChecklistHello reviewers! 👋 Please follow this checklist when reviewing this Pull Request. General
Tests
Documentation
New flags
If a workflow is added or modified:
Backward compatibility
|
There was a problem hiding this comment.
Pull request overview
Upgrades Vitess’s Go toolchain baseline to Go 1.27.0 and advances bootstrap images to version 60.
Changes:
- Updates all root and tool module Go directives.
- Updates pinned Go Docker images and digests.
- Bumps bootstrap defaults and documents version 60.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
go.mod |
Sets Go 1.27.0. |
tools/addlicense/go.mod |
Updates tool module baseline. |
tools/gofumpt/go.mod |
Updates tool module baseline. |
tools/goimports/go.mod |
Updates tool module baseline. |
tools/golangci-lint/go.mod |
Updates tool module baseline. |
tools/gotestsum/go.mod |
Updates tool module baseline. |
tools/goyacc/go.mod |
Updates tool module baseline. |
Makefile |
Sets bootstrap version 60. |
test.go |
Uses bootstrap version 60 by default. |
docker/bootstrap/Dockerfile.common |
Pins the Go 1.27.0 Bookworm image. |
docker/bootstrap/CHANGELOG.md |
Records bootstrap version 60. |
docker/lite/Dockerfile |
Pins the Go 1.27.0 Trixie image. |
docker/lite/Dockerfile.mysql80 |
Updates the MySQL 8.0 builder image. |
docker/lite/Dockerfile.mysql84 |
Updates the MySQL 8.4 builder image. |
docker/lite/Dockerfile.percona80 |
Updates the Percona 8.0 builder image. |
docker/lite/Dockerfile.percona84 |
Updates the Percona 8.4 builder image. |
docker/vttestserver/Dockerfile.mysql80 |
Updates the test-server builder image. |
docker/vttestserver/Dockerfile.mysql84 |
Updates the test-server builder image. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d83a70814b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
d83a708 to
efbbaea
Compare
Signed-off-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
efbbaea to
2e92974
Compare
Signed-off-by: Matt Lord <mattalord@gmail.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9ebb5b7de6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| logger.mu.Lock() | ||
| defer logger.mu.Unlock() | ||
| return len(logger.subscribed) == 0 | ||
| }, 5*time.Second, 1*time.Millisecond, "expected the server handler to notice the closed client and unsubscribe") |
There was a problem hiding this comment.
Raise the HTTP unsubscribe timeout to 30 seconds
On a resource-starved GitHub Actions runner, a scheduling pause or delayed loopback shutdown longer than five seconds can make this test fail even though the handler eventually unsubscribes. Use the repository-mandated timeout of at least 30 seconds while retaining assert.Eventually.
AGENTS.md reference: AGENTS.md:L69-L76
Useful? React with 👍 / 👎.
| // By now vtgate will shut down because it reached its onterm-timeout, despite idle | ||
| // connections still being opened. There is a brief window between the connections | ||
| // being force-closed above and the process exiting, so allow for it. | ||
| require.Eventually(t, clusterInstance.VtgateProcess.IsShutdown, 10*time.Second, 100*time.Millisecond) |
There was a problem hiding this comment.
Allow at least 30 seconds for vtgate to exit
When the end-to-end runner is heavily loaded, process teardown can be delayed beyond this ten-second window after the connections close, causing a spurious failure even though vtgate exits correctly. Increase this Eventually timeout to the repository-required minimum of 30 seconds.
AGENTS.md reference: AGENTS.md:L69-L76
Useful? React with 👍 / 👎.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #20875 +/- ##
==========================================
+ Coverage 69.67% 73.96% +4.29%
==========================================
Files 1614 989 -625
Lines 216793 134844 -81949
==========================================
- Hits 151044 99744 -51300
+ Misses 65749 35100 -30649
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Signed-off-by: Matt Lord <mattalord@gmail.com>
This Pull Request bumps the Golang version to
go1.27.0and the bootstrap version to60.cc @vitessio/release