зеркало из https://github.com/github/vitess-gh.git
162 строки
4.0 KiB
YAML
162 строки
4.0 KiB
YAML
run:
|
|
go: 1.19
|
|
timeout: 10m
|
|
skip-dirs:
|
|
- go/vt/topo/k8stopo/client
|
|
|
|
linters-settings:
|
|
errcheck:
|
|
exclude: ./misc/errcheck_excludes.txt
|
|
goimports:
|
|
local-prefixes: vitess.io/vitess
|
|
govet:
|
|
disable: # not supported when using Generics in 1.18
|
|
- nilness
|
|
- unusedwrite
|
|
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
# Defaults
|
|
- errcheck
|
|
- govet
|
|
- ineffassign
|
|
- typecheck
|
|
- staticcheck
|
|
- gosimple
|
|
|
|
# Extras
|
|
- gofmt
|
|
- goimports
|
|
- exportloopref
|
|
- bodyclose
|
|
|
|
# revive is a replacement for golint, but we do not run it in CI for now.
|
|
# This is only enabled as a post-commit hook
|
|
# - revive
|
|
|
|
issues:
|
|
exclude-rules:
|
|
- path: '^go/vt/proto/'
|
|
linters:
|
|
- errcheck
|
|
- goimports
|
|
|
|
- path: '^go/vt/vtadmin/cache/'
|
|
linters:
|
|
- structcheck
|
|
|
|
### BEGIN: errcheck exclusion rules. Each rule should be considered
|
|
# a TODO for removal after adding error checks to that package/file/etc,
|
|
# except where otherwise noted.
|
|
- path: '^go/cmd/(vtcombo|vtgateclienttest|vtorc)/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/mysql/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/mysql/collations'
|
|
linters:
|
|
- revive
|
|
- path: '^go/pools/.*_test.go'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/sqltypes/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/stats/statsd/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/test/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/automation/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/mysqlctl/'
|
|
linters:
|
|
- errcheck
|
|
# (NB: @ajm188) Technically, the below `exclude-rules` for `go/vt/orchestrator/external` is
|
|
# redundant with this line, but we actually want to permanently ignore orchestrator's
|
|
# vendored code, so we are keeping the exclusion rules separate because this one
|
|
# should be temporary while the latter should be permanent.
|
|
- path: '^go/vt/orchestrator/'
|
|
linters:
|
|
- errcheck
|
|
# This subtree should be permanently excluded, as it's vendored code.
|
|
- path: '^go/vt/orchestrator/external/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/schemamanager/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/servenv/'
|
|
linters:
|
|
- errcheck
|
|
# This code is autogenerated and should be permanently excluded.
|
|
- path: '^go/vt/sqlparser/(ast_format|ast_format_fast).go'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/sqlparser/goyacc'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/throttler/.*_test.go'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/topo/.*/*._test.go'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vtcombo/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vtctl/[^/]*.go'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vtctl/grpcvtctlclient/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vtctl/grpcvtctlserver/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vtctld/(schema|.*_test).go'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vtexplain/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vtgate/.*_test.go'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vtgr/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vttablet/(customrule|filelogger|grpctmserver|onlineddl|sandboxconn|tabletserver)/'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vttablet/tabletmanager/vreplication'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vttablet/(.*endtoend.*|.*_test.go)'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/vttest'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/worker'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/workflow'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/wrangler'
|
|
linters:
|
|
- errcheck
|
|
- path: '^go/vt/zkctl'
|
|
linters:
|
|
- errcheck
|
|
### END: errcheck exclusion rules
|
|
|
|
# https://github.com/golangci/golangci/wiki/Configuration
|
|
service:
|
|
golangci-lint-version: 1.50.1 # use the fixed version to not introduce new linters unexpectedly
|