milvus/.golangci.yml
congqixia 670cb386e7
Add back gocritic linter and fix related issues (#27289)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2023-09-22 10:05:26 +08:00

112 lines
2.4 KiB
YAML

run:
go: '1.18'
skip-dirs:
- build
- configs
- deployments
- docs
- scripts
- internal/core
- cmake_build
linters:
disable-all: true
enable:
- gosimple
- govet
- ineffassign
- staticcheck
- decorder
- depguard
- gofmt
- goimports
- gosec
- revive
- unconvert
- misspell
- typecheck
- durationcheck
- forbidigo
- gci
- whitespace
- gofumpt
- gocritic
linters-settings:
gci:
sections:
- standard
- default
- prefix(github.com/milvus-io)
custom-order: true
gofumpt:
lang-version: "1.18"
module-path: github.com/milvus-io
goimports:
local-prefixes: github.com/milvus-io
revive:
rules:
- name: unused-parameter
disabled: true
misspell:
locale: US
gocritic:
enabled-checks:
- ruleguard
settings:
ruleguard:
failOnError: true
rules: 'rules.go'
depguard:
rules:
main:
deny:
- pkg: 'errors'
desc: not allowd, use github.com/cockroachdb/errors
- pkg: 'github.com/pkg/errors'
desc: not allowd, use github.com/cockroachdb/errors
- pkg: 'github.com/pingcap/errors'
desc: not allowd, use github.com/cockroachdb/errors
- pkg: 'golang.org/x/xerrors'
desc: not allowd, use github.com/cockroachdb/errors
- pkg: 'github.com/go-errors/errors'
desc: not allowd, use github.com/cockroachdb/errors
forbidigo:
forbid:
- '^time\.Tick$'
- '^return merr.Err[a-zA-Z]+$'
#- 'fmt\.Print.*' WIP
issues:
exclude-use-default: false
exclude:
- should have a package comment
- should have comment
- should be of the form
- should not use dot imports
- which can be annoying to use
# Binds to all network interfaces
- G102
# Errors unhandled
- G104
# file/folder Permission
- G301
- G302
# Potential file inclusion via variable
- G304
# Deferring unsafe method like *os.File Close
- G307
# TLS MinVersion too low
- G402
# Use of weak random number generator math/rand
- G404
# Unused parameters
- SA1019
# defer return errors
- SA5001
# Maximum issues count per one linter. Set to 0 to disable. Default is 50.
max-issues-per-linter: 0
# Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
max-same-issues: 0