ci(go-lint): golangci-lint v1.64.8 (go1.24) + new-from-merge-base #32
Reference in New Issue
Block a user
Delete Branch "fix/ci-golangci-go124"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The go-lint job failed on every PR — golangci-lint v1.62-alpine is built with go1.23 and refuses to load a go1.24.0 module config (language version go1.23 lower than targeted 1.24.0), so it never actually linted. This fixes the toolchain + config and touches only CI config files.
Test plan
Note: this PR's own go-lint may still run the old (main) workflow and report the pre-existing failure; the fix only takes effect for subsequent PRs after merge.
go-lint failed on every PR: golangci-lint v1.62-alpine is built with go1.23 and refuses to load a go1.24.0 module's config ("language version go1.23 lower than targeted 1.24.0"), so it never actually linted. - container v1.62-alpine -> v1.64.8-alpine (built with go1.24.1) - revive `exported` used the old map-argument form, which v1.64 rejects ("expecting a string, got map") -> string form (disableStutteringCheck) - running golangci for the first time surfaces ~15 pre-existing findings in unrelated packages (academy/whistleblower/iace/training + a few tests); switch issues.new:false -> new-from-merge-base:main so only newly changed lines fail (the config already anticipated this) - new-from-merge-base needs the merge base -> go-lint checkout now does a full clone (local `main` ref) instead of a shallow single-branch clone Verified locally with v1.64.8: a clean branch over main lints to 0 issues (pre-existing debt ignored), config loads cleanly. Touches only CI config. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>