run: timeout: 10m skip-dirs: - go/vt/topo/k8stopo/client linters-settings: errcheck: exclude: ./misc/errcheck_excludes.txt goimports: local-prefixes: vitess.io/vitess linters: disable-all: true enable: # Defaults - deadcode - errcheck - gosimple - govet - ineffassign - staticcheck - structcheck - typecheck - varcheck # Extras - gofmt - goimports issues: exclude-rules: - path: '^go/vt/proto/' linters: - errcheck - goimports ### 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/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/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.39.0 # use the fixed version to not introduce new linters unexpectedly