Skip to content

ci(golangci): drop the advisory flag + uncap max-same-issues - #430

Merged
LukasWodka merged 4 commits into
developfrom
ci/golangci-required-flip
Jul 29, 2026
Merged

ci(golangci): drop the advisory flag + uncap max-same-issues#430
LukasWodka merged 4 commits into
developfrom
ci/golangci-required-flip

Conversation

@LukasWodka

@LukasWodka LukasWodka commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

The #1305 follow-up, unblocked by #427 (all 18 gosec sites waived with per-site review; uncapped local + CI runs at 0):

  1. --issues-exit-code=0 removed — 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.
  2. 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-lint required 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: 0 in .golangci.yml, so repeated gosec hits are no longer truncated (which previously understated how many G304s existed).

Keeps local make ci in sync with CI: lint-full is now part of make ci, runs the same pinned golangci-lint v2.12.2 via go 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.

LukasWodka and others added 2 commits July 29, 2026 14:38
…#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>
@LukasWodka LukasWodka self-assigned this Jul 29, 2026
@LukasWodka

Copy link
Copy Markdown
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.)

Comment thread .github/workflows/golangci.yml
…(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
aptracebloc previously approved these changes Jul 29, 2026
Comment thread Makefile
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>
@LukasWodka

Copy link
Copy Markdown
Contributor Author

bugbut run

@LukasWodka

Copy link
Copy Markdown
Contributor Author

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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.

@LukasWodka
LukasWodka merged commit f37dad5 into develop Jul 29, 2026
26 checks passed
@LukasWodka
LukasWodka deleted the ci/golangci-required-flip branch July 29, 2026 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants