ci(golangci): drop the advisory flag + uncap max-same-issues - #430
Merged
Conversation
…#1305) Backlog is zero after the reviewed #nosec waivers (#427): findings now fail the job. max-same-issues: 0 so repeated findings can never hide behind the default cap of 3 again (the '8 findings were really 18' lesson). Branch-protection required-flip follows once this merges. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…#1305) Backlog is zero after the reviewed #nosec waivers (#427): findings now fail the job. max-same-issues: 0 so repeated findings can never hide behind the default cap of 3 again (the '8 findings were really 18' lesson). Branch-protection required-flip follows once this merges. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
Author
|
👋 Heads-up — Code review queue is at 36 / 30 Above the WIP limit. The team convention is to review existing PRs before opening new work. Open PRs currently in Code review (oldest first):
Pull from review before opening new work. (This is a nudge from the kanban WIP check, not a block.) |
…(Bugbot) golangci-lint fails PRs on findings since this branch; make ci skipping it broke the 'make ci mirrors CI exactly' rule (green local, red PR). lint-full's guard already gives install instructions when the tool is missing, which is correct mirroring rather than a soft skip. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
aptracebloc
previously approved these changes
Jul 29, 2026
lint-full ran whatever golangci-lint was on PATH while CI pins v2.12.2 -- with ci depending on lint-full, version drift could green a local run that reds the PR gate. Now runs the exact pinned version through the Makefile's own 'go run tool@version' pattern (like errcheck/ staticcheck/govulncheck): no PATH dependency, no brew-version drift. GOLANGCI_LINT var removed (unused); lockstep note added on both sides. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
Author
|
bugbut run |
Contributor
Author
|
bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 01e5738. Configure here.
aptracebloc
approved these changes
Jul 29, 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.
The #1305 follow-up, unblocked by #427 (all 18 gosec sites waived with per-site review; uncapped local + CI runs at 0):
--issues-exit-code=0removed — the job now fails on any finding, including typecheck errors (which ride the same exit path). This PR itself proves the gate: its own golangci run must pass at zero.issues.max-same-issues: 0— the default cap of 3 is how "8 findings" turned out to be 18 (10 G304s hidden behind a cache-flappy sample). A gate must see the whole backlog, every run.After merge: mark
golangci-lintrequired in develop branch protection (the final #1305 step — safe to require since the workflow has no paths filter and runs on every PR).Part of tracebloc/backend#1305
🤖 Generated with Claude Code
Note
Low Risk
Changes are limited to CI/Makefile and golangci config; no application runtime or security logic is modified.
Overview
Turns golangci-lint from advisory into a real PR gate by removing
--issues-exit-code=0, so any new finding (including typecheck issues on the same exit path) fails the workflow. Workflow comments are updated to document the gate and note that branch protection should mark the check required next.Ensures the linter reports the full backlog by setting
issues.max-same-issues: 0in.golangci.yml, so repeated gosec hits are no longer truncated (which previously understated how many G304s existed).Keeps local
make ciin sync with CI:lint-fullis now part ofmake ci, runs the same pinnedgolangci-lintv2.12.2 viago run(not a PATH binary), and documents version lockstep with.github/workflows/golangci.yml.Reviewed by Cursor Bugbot for commit 01e5738. Bugbot is set up for automated code reviews on this repo. Configure here.