erigon-pulse/.golangci.yml

155 lines
3.7 KiB
YAML
Raw Normal View History

run:
deadline: 10m
build-tags:
- nosqlite
- noboltdb
- integration
linters:
2023-03-25 05:13:27 +00:00
presets:
- bugs
- error
- unused
- performance
disable:
- gosec # enable it after 1-2 weeks. it failing CI withoutt enough info to fix: https://github.com/ledgerwatch/erigon/actions/runs/5928644129/job/16074701625
2023-03-25 05:13:27 +00:00
- exhaustive
- musttag
- contextcheck
- wrapcheck
- goerr113
- 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
2023-11-11 12:04:18 +00:00
- testifylint #TODO: enable me
- perfsprint #TODO: enable me
2023-03-25 05:13:27 +00:00
- gocheckcompilerdirectives
2023-11-11 12:04:18 +00:00
- protogetter
enable:
2023-03-25 05:13:27 +00:00
- unconvert
# - predeclared #TODO: enable me
# - thelper #TODO: enable me
# - wastedassign
- gofmt
- gocritic
2023-03-25 05:13:27 +00:00
# - revive
# - forcetypeassert
2023-03-25 05:13:27 +00:00
# - stylecheck
linters-settings:
gocritic:
2021-07-17 02:09:56 +00:00
# Which checks should be enabled; can't be combined with 'disabled-checks';
# See https://go-critic.github.io/overview#checks-overview
2021-12-26 03:54:26 +00:00
# To check which checks are enabled run `GL_DEBUG=gocritic ./build/bin/golangci-lint run`
2021-07-17 02:09:56 +00:00
# By default list of stable checks is used.
enabled-checks:
- ruleguard
2021-07-17 02:09:56 +00:00
- truncateCmp
2021-12-26 03:54:26 +00:00
# - defaultCaseOrder
2021-07-17 02:09:56 +00:00
# Which checks should be disabled; can't be combined with 'enabled-checks'; default is empty
disabled-checks:
- regexpMust
2021-12-26 03:54:26 +00:00
- appendAssign
2021-07-17 02:09:56 +00:00
# - hugeParam
- rangeValCopy
- exitAfterDefer
- elseif
- dupBranchBody
- assignOp
- singleCaseSwitch
- unlambda
- captLocal
- commentFormatting
- ifElseChain
2021-12-26 03:54:26 +00:00
- importShadow
- paramTypeCombine
- builtinShadow
- typeUnparen
2021-07-17 02:09:56 +00:00
# Enable multiple checks by tags, run `GL_DEBUG=gocritic golangci-lint run` to see all tags and checks.
# Empty list by default. See https://github.com/go-critic/go-critic#usage -> section "Tags".
enabled-tags:
- performance
2021-12-26 03:54:26 +00:00
- diagnostic
- opinionated
2021-07-17 02:09:56 +00:00
disabled-tags:
- experimental
settings:
2021-12-26 03:54:26 +00:00
ruleguard:
rules: "rules.go"
2021-07-17 02:09:56 +00:00
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
truncateCmp:
# whether to skip int/uint/uintptr types (default true)
skipArchDependent: 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:
auto-fix: 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.
2021-08-02 07:52:54 +00:00
- path: test\.go
linters:
- gosec
- unused
- deadcode
- gocritic
2023-11-11 12:04:18 +00:00
- perfsprint
2021-08-02 07:52:54 +00:00
- path: hack\.go
linters:
- gosec
- unused
- deadcode
- gocritic
- path: cmd/devp2p
linters:
- gosec
- unused
- deadcode
2021-07-17 02:09:56 +00:00
- gocritic
2021-04-13 14:48:20 +00:00
- path: metrics/sample\.go
linters:
- gosec
2021-07-17 02:09:56 +00:00
- gocritic
2021-08-02 07:52:54 +00:00
- path: p2p/simulations
linters:
- gosec
- gocritic
- path: p2p/dnsdisc
linters:
- gosec
- gocritic