run: go: '1.18' skip-dirs: - build - configs - deployments - docs - scripts - internal/core linters: disable-all: true enable: - typecheck - goimports - misspell - govet - ineffassign - gosimple - gosec - revive - durationcheck - unconvert - forbidigo - depguard # - gocritic linters-settings: misspell: locale: US gocritic: enabled-checks: - ruleguard settings: ruleguard: failOnError: true rules: 'rules.go' depguard: list-type: denylist include-go-root: true packages: - errors - github.com/pkg/errors - github.com/pingcap/errors - golang.org/x/xerrors - github.com/go-errors/errors forbidigo: forbid: - '^time\.Tick$' #- '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 # Use of weak random number generator math/rand - G404 # 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 service: golangci-lint-version: 1.27.0 # use the fixed version to not introduce new linters unexpectedly