Merged
Conversation
Collaborator
Author
|
I want to ideally merge #1441 before this one to make sure things work afterwards too. |
7d3fdb1 to
3c045c8
Compare
Collaborator
Author
Collaborator
|
Looking now! I'll resolve the conflicts and do some sanity checks. |
- Bump Go from 1.24.1 to 1.26.0 across go.mod and all CI workflows - Update all go.mod dependencies via go get -u, including grpc, protobuf, cobra, go-git, and go-github (v28 → v72 with import path update) - Migrate .golangci.yml from v1 to v2 format (default: none, formatters section, exclusions restructure, suppress new ST/QF style checks) - Upgrade golangci-lint from v1.64.2 to v2.10.1 in Makefile and CI - Bump CI action versions (setup-go@v5, checkout@v4, golangci-lint-action@v9) - Update protoc tooling versions in Makefile and CI Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Committed-By-Agent: claude
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Committed-By-Agent: claude
Remove all staticcheck and govet suppressions that were added during the golangci-lint v2 migration, fixing the underlying issues instead: - SA1019: Replace deprecated grpc.DialContext with grpc.NewClient (42 calls), replace root.SetOutput with SetOut/SetErr - ST1000: Add package comments to all packages (~20) - ST1003: Rename HttpStatusCode -> HTTPStatusCode, AuthorizeHttpError -> AuthorizeHTTPError - ST1005: Lowercase error strings, remove trailing punctuation (~20) - ST1012: Rename jsonDataFlagInvalidErr -> errJSONDataFlagInvalid - ST1016: Fix inconsistent receiver name in samples/create.go - ST1019: Merge duplicate imports in samples.go and tail.go - ST1020: Fix comment format on BuildDataForV1Request - QF1002/QF1003: Convert if-else chains to tagged switches - QF1008: Simplify embedded field selectors in websocket tests - QF1012: Use fmt.Fprintf instead of WriteString(Sprintf) - govet nilness: Remove dead code (tautological nil checks in 4 files) - govet printf: Re-enable (zero violations) - Enable govet enable-all for broader analysis coverage Only two govet analyzers remain disabled: fieldalignment (49 struct reordering suggestions, pure optimization churn) and shadow (16 idiomatic err shadowing instances). Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Committed-By-Agent: claude
In golangci-lint v2, max-issues-per-linter and max-same-issues are CLI-only flags, not valid config file options. Move them to CLI args in the Makefile and CI workflow. Also remove stale TODO comment. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Committed-By-Agent: claude
Update test assertions to match error strings that were lowercased in the ST1005 linter fix, plus one additional ST1005 violation in plugins/utilities.go surfaced after rebase. Co-Authored-By: Claude Opus 4.6 <[email protected]> Committed-By-Agent: claude
…-grpc Co-Authored-By: Claude Opus 4.6 <[email protected]> Committed-By-Agent: claude
Set CGO_ENABLED=0 for tests to avoid a nil pointer dereference in the arm64 linker's gensymlate function when building large race- instrumented binaries (golang/go#77593). Co-Authored-By: Claude Opus 4.6 <[email protected]> Committed-By-Agent: claude
CGO_ENABLED=0 with -race is not supported on Linux. Move the workaround for the Go 1.26.0 linker crash (golang/go#77593) from the Makefile to the CI workflow, applying it only on macOS runners. Co-Authored-By: Claude Opus 4.6 <[email protected]> Committed-By-Agent: claude
Use a Makefile conditional to set CGO_ENABLED=0 only on Darwin, rather than a workflow env that breaks cross-compilation on Linux and is incompatible with the race detector on Linux/Windows. Co-Authored-By: Claude Opus 4.6 <[email protected]> Committed-By-Agent: claude
Lowercase error strings (ST1005) and convert to tagged switch (QF1002) in files introduced by recent master commits. Co-Authored-By: Claude Opus 4.6 <[email protected]> Committed-By-Agent: claude
- actions/checkout: v4 → v6 - actions/setup-go: v5 → v6 - docker/setup-buildx-action: v3 → v4 - goreleaser/goreleaser-action: v6 → v7 - peter-evans/create-pull-request: v6 → v8 - tibdex/github-app-token: v1.5.2 → v2 All bumps are Node.js runtime upgrades (Node 24) with no input parameter changes. Also fixes canary-test.yml Go version (1.24.1 → 1.26.0). Co-Authored-By: Claude Opus 4.6 <[email protected]> Committed-By-Agent: claude
3c0ebd5 to
9dd3f64
Compare
Collaborator
|
Confirmed these manually: |
- Fix comment format on GRPCServer and GRPCClient methods (ST1020) - Replace deprecated grpc.DialContext with grpc.NewClient in tests (SA1019) - Use passthrough:/// scheme for bufnet connections with grpc.NewClient Co-Authored-By: Claude Sonnet 4.5 <[email protected]> Committed-By-Agent: claude
Collaborator
|
More testing: |
vcheung-stripe
approved these changes
Mar 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reviewers
r? @
cc @stripe/developer-products
Summary
This updates golang to latest, golangci to latest (and uses the new file format), updates github actions, and all our dependencies.
I also asked Claude to go through and fix linting issues and re-enable a few previously disabled ones. This is where we landed after a bit: