bazel: perform staticcheck checks in nogo
#73572
Merged
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.
Add a new binary
generate-staticcheck
, part ofdev generate bazel
,that creates a package in
build/bazelutil/staticcheckanalyzers
capturing a single
staticcheck
check. Then we capture the list ofanalyzers in
build/bazelutil/staticcheckanalyzers/def.bzl
and add allthose checks to
nogo
.However, we can't directly use the
Analyzer
s provided by the upstreamlibrary, because they report all violations regardless of
lint:ignore
directives. In order to address this we add a helperlibrary at
pkg/testutils/lint/passes/staticcheck
that munges theAnalyzer
s to additionally pull thelint:ignore
directives and ignoreany reported diagnostics that correspond to a
lint:ignore
.This follows the example set by https://github.com/sluongng/staticcheck-codegen,
but we don't directly use that code, since we need to inject our own
stuff and we want to make sure the content here is pinned to the right
version of
staticcheck
.We run the
staticcheck
andsimple
checks.stylecheck
is still broken: #73568Closes #68496.
Release note: None