ci: suppress staticcheck SA5011 false positives in test files#3715
Merged
Conversation
The pinned golangci-lint binary's staticcheck reports SA5011 (possible nil
pointer dereference) on `if x == nil { t.Fatal(...) }`-guarded derefs in tests
— it doesn't model t.Fatal as terminating. The same code is clean under a
locally-built golangci-lint, and the finding is masked by the action cache
until a go.sum change cold-busts it, so it surfaces per-package and has failed
lint on otherwise-correct PRs (handled ad hoc in #3706, #3714).
Scope a test-only SA5011 exclusion so it stops blocking PRs while SA5011 keeps
guarding production code.
3 tasks
SuMuxi66
pushed a commit
to SuMuxi66/DeepSeek-Reasonix
that referenced
this pull request
Jun 10, 2026
…ne#3715) The pinned golangci-lint binary's staticcheck reports SA5011 (possible nil pointer dereference) on `if x == nil { t.Fatal(...) }`-guarded derefs in tests — it doesn't model t.Fatal as terminating. The same code is clean under a locally-built golangci-lint, and the finding is masked by the action cache until a go.sum change cold-busts it, so it surfaces per-package and has failed lint on otherwise-correct PRs (handled ad hoc in esengine#3706, esengine#3714). Scope a test-only SA5011 exclusion so it stops blocking PRs while SA5011 keeps guarding production code. Co-authored-by: reasonix <reasonix@deepseek.com>
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.
Why
The pinned golangci-lint binary CI runs reports
SA5011(possible nil pointer dereference) on correctif x == nil { t.Fatal(...) }-guarded derefs in test files — its staticcheck doesn't treatt.Fatalas terminating. A locally-built golangci-lint (same v2.12.2) reports 0 issues on the same code, and the finding is masked by the golangci-lint-action cache until ago.sumchange cold-busts it — so it surfaces per package and has repeatedly failed lint on otherwise-correct PRs (patched ad hoc in #3706 and #3714, with more packages still to hit).Fix
Add a test-only exclusion for SA5011 in
.golangci.yml. SA5011 still runs on production code; only_test.goguarded-deref false positives are suppressed. This stops the whack-a-mole instead of guarding each new test site by hand.Verification
golangci-lint config verifypasses (v2.12.2, the CI version).golangci-lint runclean locally.