agent/.golangci.yml

146 lines
3.2 KiB
YAML
Raw Permalink Normal View History

2025-03-30 09:13:46 +08:00
run:
timeout: 10m
build-tags:
- nosqlite
- noboltdb
- integration
linters:
presets:
- bugs
- error
- unused
- performance
disable:
- gosec
- exhaustive
- musttag
- contextcheck
- wrapcheck
- err113
- unparam
- makezero #TODO: enable me
- noctx #TODO: enable me
- nilerr #TODO: enable me
- errorlint #TODO: enable me
- errchkjson #TODO: enable me
- unused #TODO: enable me
- testifylint #TODO: enable me
- gocheckcompilerdirectives
- protogetter
enable:
- unconvert
# - predeclared #TODO: enable me
# - thelper #TODO: enable me
- wastedassign
- gofmt
- gocritic
- perfsprint
# - revive
# - forcetypeassert
# - stylecheck
linters-settings:
gocritic: # see https://golangci-lint.run/usage/linters/#gocritic and https://go-critic.github.io/overview#checks-overview
enabled-tags:
- performance
- diagnostic
enabled-checks:
- ruleguard
disabled-checks:
- regexpMust
- appendAssign
- rangeValCopy
- exitAfterDefer
- elseif
- dupBranchBody
- assignOp
- singleCaseSwitch
- unlambda
- captLocal
- commentFormatting
- ifElseChain
# diagnostigs tag: possible bugs. need enable checks in future
- sloppyReassign
- sprintfQuotedString
- deferInLoop
- nilValReturn
- evalOrder
- returnAfterHttpError
- weakCond
- builtinShadowDecl
- unnecessaryDefer
- uncheckedInlineErr
- preferStringWriter
- commentedOutCode
- preferFprint
settings:
ruleguard:
rules: "rules.go"
hugeParam:
# size in bytes that makes the warning trigger (default 80)
sizeThreshold: 1000
rangeExprCopy:
# size in bytes that makes the warning trigger (default 512)
sizeThreshold: 512
# whether to check test functions (default true)
skipTestFuncs: true
underef:
# whether to skip (*x).method() calls where x is a pointer receiver (default true)
skipRecvDeref: true
govet:
disable:
- deepequalerrors
- fieldalignment
- shadow
- unsafeptr
goconst:
min-len: 2
min-occurrences: 2
gofmt:
simplify: false
issues:
exclude-rules:
- linters:
- golint
text: "should be"
- linters:
- errcheck
text: "not checked"
- linters:
- staticcheck
text: "SA(1019|1029|5011)"
# Exclude some linters from running on tests files.
- path: test\.go
linters:
- gosec
- unused
- gocritic
- perfsprint
- path: hack\.go
linters:
- gosec
- unused
- gocritic
- path: cmd/devp2p
linters:
- gosec
- unused
- gocritic
- path: metrics/sample\.go
linters:
- gosec
- gocritic
- path: p2p/simulations
linters:
- gosec
- gocritic
- path: p2p/dnsdisc
linters:
- gosec
- gocritic