From 8a4ce858e5bc7b83c305f0775a4002e2be0366dd Mon Sep 17 00:00:00 2001 From: Vaughn Friesen Date: Fri, 29 May 2026 23:58:38 +0800 Subject: [PATCH 1/2] ci: upgrade golangci-lint to v2.12.2 and document install v1.64.8 is the final v1 release (v1 is EOL); v2 is the maintained line. Bump the CI install to v2.12.2 (latest) and fetch install.sh from HEAD instead of the renamed `master` branch. The `golangci-lint run --timeout=3m` command is unchanged and `--timeout` is still a valid flag in v2. master lints clean (0 issues) under v2.12.2 with the default linter set, so no config file or code changes are needed. Document the install command (pinned to the CI version) in CLAUDE.md and AGENTS.md so contributors can run the same lint locally. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/go.yml | 2 +- AGENTS.md | 1 + CLAUDE.md | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 0c977dc..59f9f8a 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -26,7 +26,7 @@ jobs: run: | go mod download # Install golangci-lint. - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.64.8 + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.12.2 - name: Check gofmt run: | diff --git a/AGENTS.md b/AGENTS.md index 373b77c..1d51250 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,6 +14,7 @@ GoBatch is a Go library for batch data processing. It provides infrastructure fo - Run tests with race detection and coverage: `go test -race -coverprofile=coverage.txt -covermode=atomic ./...` - Basic lint: `go vet ./...` - Full lint: `golangci-lint run --timeout=3m` +- Install golangci-lint (v2.12.2, matching CI): `curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.12.2` ## Code Standards - Follow Go best practices and idiomatic Go patterns diff --git a/CLAUDE.md b/CLAUDE.md index 441bfc0..43e45fd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -14,6 +14,7 @@ GoBatch is a Go library for batch data processing. It provides infrastructure fo - Run tests with race detection and coverage: `go test -race -coverprofile=coverage.txt -covermode=atomic ./...` - Basic lint: `go vet ./...` - Full lint: `golangci-lint run --timeout=3m` +- Install golangci-lint (v2.12.2, matching CI): `curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.12.2` ## Code Standards - Follow Go best practices and idiomatic Go patterns From ad68c51cbb707b848850620ddfac6a0909364d4c Mon Sep 17 00:00:00 2001 From: Vaughn Friesen Date: Sat, 30 May 2026 00:05:33 +0800 Subject: [PATCH 2/2] ci: pin golangci-lint install.sh to the v2.12.2 tag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pin the install script ref to the v2.12.2 tag (instead of HEAD) so the install script and the installed binary are the same version — fully reproducible. (HEAD resolves to the default branch and returns 200; this is for reproducibility, not a fix for a 404.) Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/go.yml | 2 +- AGENTS.md | 2 +- CLAUDE.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 59f9f8a..78c2c92 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -26,7 +26,7 @@ jobs: run: | go mod download # Install golangci-lint. - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.12.2 + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/v2.12.2/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.12.2 - name: Check gofmt run: | diff --git a/AGENTS.md b/AGENTS.md index 1d51250..3c39118 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,7 +14,7 @@ GoBatch is a Go library for batch data processing. It provides infrastructure fo - Run tests with race detection and coverage: `go test -race -coverprofile=coverage.txt -covermode=atomic ./...` - Basic lint: `go vet ./...` - Full lint: `golangci-lint run --timeout=3m` -- Install golangci-lint (v2.12.2, matching CI): `curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.12.2` +- Install golangci-lint (v2.12.2, matching CI): `curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/v2.12.2/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.12.2` ## Code Standards - Follow Go best practices and idiomatic Go patterns diff --git a/CLAUDE.md b/CLAUDE.md index 43e45fd..ddc25b4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -14,7 +14,7 @@ GoBatch is a Go library for batch data processing. It provides infrastructure fo - Run tests with race detection and coverage: `go test -race -coverprofile=coverage.txt -covermode=atomic ./...` - Basic lint: `go vet ./...` - Full lint: `golangci-lint run --timeout=3m` -- Install golangci-lint (v2.12.2, matching CI): `curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.12.2` +- Install golangci-lint (v2.12.2, matching CI): `curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/v2.12.2/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.12.2` ## Code Standards - Follow Go best practices and idiomatic Go patterns