DoDiODev opened a new pull request, #9217: URL: https://github.com/apache/devlake/pull/9217
### Summary Moves the backend from Go 1.26 to Go 1.27 (1.27.2) at every place that pins the Go version. Go 1.28 is expected around February 2027, after which 1.26 no longer receives security fixes. This builds on #9210 (golangci-lint v2.14.0): the released golangci-lint v2.12.2 binary is built with Go 1.26 and refuses to run on a module that targets Go 1.27. ### Changes | Where | Change | |---|---| | `backend/go.mod` | `go 1.26.0` → `go 1.27.0`, plus the `go mod tidy` reordering described below | | `backend/scripts/install-go.sh` | `1.26.9` → `1.27.2`, new SHA256 for linux-amd64 / linux-arm64 (from go.dev) | | `devops/docker/lake-builder/Dockerfile` | `GO_VERSION` / `GO_SHA256` → 1.27.2 | | `backend/Dockerfile`, `backend/Dockerfile.local` | `golang:1.26-bookworm` → `golang:1.27-bookworm` | | `.devcontainer/Dockerfile` | `devcontainers/go:1-1.26-bookworm` → `devcontainers/go:2-1.27-bookworm` | | workflow step names in `test.yml`, `test-e2e.yml` (2×), `golangci-lint.yml`, `migration-script-lint.yml` | label only | **`go.mod` reordering:** with the `go 1.27.0` directive, `go mod tidy` merges the second block of direct requirements into the first and moves three `// indirect` entries into the indirect block. No module version changes and `go.sum` is untouched. Without it, the `go mod tidy` check in CI would fail. With the old `go 1.26.0` directive, Go 1.27.2 leaves `go.mod` as it is, so the reordering comes from the directive alone. **Dev container:** the `1-*` tag line of `mcr.microsoft.com/devcontainers/go` is no longer published, so the current `1-1.26-bookworm` reference no longer resolves. This PR switches to the maintained `2-*` line. ### Verification | Check | Result | |---|---| | SHA256 of the Go 1.27.2 archives, downloaded and compared with the values in the files | ✅ | | `go mod tidy` leaves `go.mod` / `go.sum` unchanged | ✅ | | `make mock`, `make build` (including `swag`), `make unit-test` with Go 1.27.2 | ✅ | | golangci-lint v2.14.0 (with #9210 applied) | ✅ 0 issues | | `go vet ./...` | no new findings compared with Go 1.26 | | Full CI mirror on my fork, including a build of the lake-builder image from this Dockerfile (Go 1.27.2), unit tests, lint (golangci-lint v2.14.0) and e2e on MySQL and PostgreSQL ([run](https://github.com/DoDiODev/devlake/actions/runs/38554494602)) | ✅ | CI installs Go through `install-go.sh` and therefore tests 1.27.2 directly. The lake-builder change takes effect once a new builder image is published (#9209). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
