146 lines
3.2 KiB
YAML
146 lines
3.2 KiB
YAML
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
|