gate: add golangci-lint to the heavy block #586

Open
opened 2026-09-22 17:11:01 +00:00 by hexajon · 0 comments
Owner

Context

One golangci-lint pass runs errcheck, gocritic, ineffassign, and revive
together, type-checked once. This is about a quarter of the wall-clock of four
separate whole-program analyzers, with one finding stream and no doubled
reports. The .golangci.yml config is already in the tree, with default: none.

What

  • Add golangci-lint run ./... to the parallel heavy block of
    scripts/gate.sh, and update the header comment.
  • Pin golangci-lint in scripts/setup-dev.sh and .forgejo/workflows/ci.yml,
    kept in sync. Also install standalone errcheck, ineffassign, revive, and
    gocritic for single-tool runs. Record the exact pin versions at install time.
    gocritic does not self-report a version, so pin it by behavior.
  • Add the command line to the CLAUDE.md "Development Commands" list.

Acceptance

  • The gate step runs and reports zero findings.
  • The pin versions are identical in setup-dev.sh and ci.yml.
## Context One golangci-lint pass runs errcheck, gocritic, ineffassign, and revive together, type-checked once. This is about a quarter of the wall-clock of four separate whole-program analyzers, with one finding stream and no doubled reports. The `.golangci.yml` config is already in the tree, with `default: none`. ## What - Add `golangci-lint run ./...` to the parallel heavy block of `scripts/gate.sh`, and update the header comment. - Pin golangci-lint in `scripts/setup-dev.sh` and `.forgejo/workflows/ci.yml`, kept in sync. Also install standalone errcheck, ineffassign, revive, and gocritic for single-tool runs. Record the exact pin versions at install time. gocritic does not self-report a version, so pin it by behavior. - Add the command line to the CLAUDE.md "Development Commands" list. ## Acceptance - The gate step runs and reports zero findings. - The pin versions are identical in setup-dev.sh and ci.yml.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea#586
No description provided.