mirror of
https://github.com/boshu2/agentops.git
synced 2026-09-14 15:08:13 +08:00
e8339105b7
## What Bumps the repo-pinned golangci-lint from v2.11.4 to v2.13.1 (in `scripts/golangci-lint-v2.sh` plus the toolchain installs in `validate.yml` and `nightly.yml`), and hardens `cli/internal/archcheck`'s fixture git helpers against a `t.TempDir` cleanup race by disabling background git maintenance (`gc.auto=0`, `gc.autodetach=false`, `maintenance.auto=false`). ## Why Fixes #1055. Fixes #1077. Two independent failures were blocking CI: - **go-gate-shadow red on the open Renovate PRs (#1076, #1074).** golangci-lint v2.11.4's vendored `x/tools` cannot decode Go 1.27's export data (`export data version 4 is greater than maximum supported version 2`), so the `go.lint` gate fails with `typecheck` errors on any PR that moves CI or the `toolchain` directive to go 1.27.0. v2.13.1 ships `x/tools` v0.49.0 with Go 1.27 support while keeping a `go 1.26.0` directive, so it still bootstraps under the current go 1.26.6 CI toolchain with `GOTOOLCHAIN=local`. - **Nightly failures #1055 (CLI tests, 2026-08-10) and #1077 (security toolchain go-test lane, 2026-08-21).** Both are the same root cause: `git commit` in `TestGoCLIArchitectureAcceptedBoundaryOwnsModuleIntroduction`'s fixture repo can detach an auto-maintenance child that outlives the test body and races `t.TempDir` cleanup, failing `RemoveAll` with `.git: directory not empty`. The fixture git helpers now disable auto gc/maintenance so no background child is ever spawned. ## How I tested - `cd cli && go build ./... && go vet ./... && go test ./...` — exit 0 (65 packages ok). - `scripts/check-go-lint.sh` with golangci-lint v2.13.1: clean (0 findings) under **both** `GOTOOLCHAIN=go1.26.6` (current CI) and `GOTOOLCHAIN=go1.27.0` (the environment of the Renovate PRs), on the final tree. - Reproduced the v2.11.4 failure locally under go1.27.0 (same two `typecheck` findings as CI) before the bump. - `go test ./internal/archcheck/ -run 'TestGoCLIArchitecture...' -count=3` — pass. ## Checklist - [x] `make build && make test` passes (if Go changes) - [x] No secrets or credentials in code - [x] Breaking changes documented (if any) — none --- _Generated by [Claude Code](https://claude.ai/code/session_011Kjsu6s8w9su671g6zCSQw)_ Co-authored-by: Claude <noreply@anthropic.com>