Upgrade vendors & Go version to 1.26#1506
Upgrade vendors & Go version to 1.26#1506xxx7xxxx wants to merge 8 commits intoeasegress-io:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Upgrades the repository’s Go toolchain and dependency set, and adjusts CI/build/test plumbing to run integration tests behind an explicit build tag.
Changes:
- Bump Go version/toolchain to 1.26.x and update builder images + GitHub Actions Go versions accordingly.
- Update a large set of Go module dependencies (go.mod/go.sum).
- Gate integration test package under the
integrationbuild tag and update integration test runner to pass-tags=integration; improve test isolation for logger tests.
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/benchmark/aigateway/llm/go.mod | Bumps benchmark submodule Go version/toolchain to 1.26.x. |
| go.mod | Updates main module Go version/toolchain and refreshes direct/indirect dependencies. |
| go.sum | Updates checksums to match the upgraded dependency graph. |
| build/package/Dockerfile.builder | Moves builder base image to golang:1.26.1-alpine. |
| Makefile | Updates builder image tag used for Docker builds. |
| .github/workflows/test.yml | Updates CI Go version to 1.26.1 for test workflow. |
| .github/workflows/release.yml | Updates release workflow Go version to 1.26.1. |
| .github/workflows/golangci.lint.yml | Updates lint workflow Go version to 1.26.1. |
| .github/workflows/code.analysis.yml | Updates code analysis workflow Go version to 1.26.1. |
| build/test/test.sh | Runs integration tests with -tags=integration. |
| build/test/server.go | Adds integration build tag and closes HTTP response bodies defensively. |
| build/test/client.go | Adds integration build tag. |
| build/test/integration_test.go | Adds integration build tag and centralizes HTTP request execution via helper. |
| pkg/logger/logger_test.go | Uses t.TempDir() for log output to avoid polluting working directory. |
| SECURITY.md | Updates the supported Go versions table to include 1.26.x. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | 1.25.x | :white_check_mark: | | ||
| | 1.24.x | :white_check_mark: | |
| func mustDoRequest(t *testing.T, req *http.Request) *http.Response { | ||
| t.Helper() | ||
|
|
||
| resp, err := http.DefaultClient.Do(req) | ||
| require.NoError(t, err) | ||
| require.NotNil(t, resp) | ||
|
|
||
| return resp | ||
| } |
|
golang/go#77799 I think we could wait for 1.26.2 or a later version, since Golang updated the GC strategy. It may take time to be stable. |
|
|
||
| func TestMustPlainLogger(t *testing.T) { | ||
| opt := &option.Options{AbsLogDir: "."} | ||
| logDir := t.TempDir() |
There was a problem hiding this comment.
In the logger implementation, Sync() in logfile.go only flushes the data and does not close the file handle. Windows does not allow deleting a file that is still in use, so when t.TempDir() runs its RemoveAll cleanup at the end of the test, it fails with:
The process cannot access the file because it is being used by another process
|
The CI failed due to the |
No description provided.