Skip to content

Upgrade golangci-lint in CI runner and Makefile#4861

Open
amanfcp wants to merge 11 commits intomainfrom
amaan/upgrade-golangci-lint-v2
Open

Upgrade golangci-lint in CI runner and Makefile#4861
amanfcp wants to merge 11 commits intomainfrom
amaan/upgrade-golangci-lint-v2

Conversation

@amanfcp
Copy link
Copy Markdown
Contributor

@amanfcp amanfcp commented Apr 2, 2026

Description:

Upgrades golangci-lint from v1 to v2, pinned at v2.11.4. CI uses golangci-lint-action@v7 with a prebuilt binary (no Go 1.25 toolchain fetch). Local make lint now calls scripts/lint.sh, which auto-installs the exact pinned version via curl, eliminating system-installed version mismatches.
The deprecated --out-format flag is removed (colored output is default in v2). errcheck and staticcheck are temporarily disabled as v2's stricter defaults surface ~100 pre-existing issues, to be addressed in a follow-up.

Checklist:

  • Tests passing (make test-community)?
  • Lint passing (make lint this requires golangci-lint)?

Note

Low Risk
CI/tooling-only changes; main risk is reduced lint coverage by disabling errcheck/staticcheck and potential differences in lint output from the v2 upgrade.

Overview
Upgrades CI linting to golangci-lint-action@v7 and pins golangci-lint to v2.11.4, updating the lint args to match v2 and temporarily disabling errcheck/staticcheck.

Changes local make lint to run a new scripts/lint.sh that ensures the exact pinned golangci-lint version is present (installing it if needed) before executing the same lint command for consistent results across environments.

Reviewed by Cursor Bugbot for commit 4ebd548. Bugbot is set up for automated code reviews on this repo. Configure here.

amanfcp added 2 commits April 3, 2026 02:45
…25 toolchain fetch while restricting make lint command to same version as CI
…curity/trufflehog into amaan/upgrade-golangci-lint-v2
@amanfcp amanfcp marked this pull request as ready for review April 2, 2026 22:00
@amanfcp amanfcp requested a review from a team April 2, 2026 22:00
amanfcp added 3 commits April 8, 2026 14:15
…curity/trufflehog into amaan/upgrade-golangci-lint-v2
- extract exact semantic version
- check system path first before GOPATH/bin to avoid potential duplication
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

There are 2 total unresolved issues (including 1 from previous review).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 4ebd548. Configure here.

GOLANGCI_LINT_VERSION="v2.11.4"

# TODO: Re-enable errcheck and staticcheck once pre-existing issues are resolved.
LINT_ARGS="--disable errcheck,staticcheck --enable bodyclose,copyloopvar,misspell --timeout 10m"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Lint version and args duplicated across two files

Low Severity

The golangci-lint version (v2.11.4) and the lint arguments (--disable errcheck,staticcheck --enable bodyclose,copyloopvar,misspell --timeout 10m) are independently hardcoded in both scripts/lint.sh and .github/workflows/lint.yml. If one file is updated without the other, CI and local make lint will silently diverge — running different linter versions or different linter sets — defeating the stated goal of eliminating version mismatches.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4ebd548. Configure here.

@amanfcp
Copy link
Copy Markdown
Contributor Author

amanfcp commented Apr 8, 2026

On second thought, we could also use a Docker image in the Makefile 🤔
Would love to hear your thoughts on this, @bryanbeverly.

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.

2 participants