90 lines
2.1 KiB
YAML
90 lines
2.1 KiB
YAML
linters:
|
|
enable:
|
|
- depguard # Checks for dependencies that should not be (re)introduced. See "linter-settings" for further details.
|
|
# - copyloopvar # Checks for loop variable copies in Go 1.22+
|
|
- gofmt
|
|
- goimports
|
|
- gosec
|
|
- ineffassign
|
|
- misspell
|
|
- nolintlint
|
|
- revive
|
|
- staticcheck
|
|
- tenv # Detects using os.Setenv instead of t.Setenv since Go 1.17
|
|
- unconvert
|
|
- unused
|
|
- govet
|
|
- dupword # Checks for duplicate words in the source code
|
|
disable:
|
|
- errcheck
|
|
|
|
issues:
|
|
include:
|
|
- EXC0002
|
|
max-issues-per-linter: 0
|
|
max-same-issues: 0
|
|
|
|
# Only using / doesn't work due to https://github.com/golangci/golangci-lint/issues/1398.
|
|
exclude-rules:
|
|
- path: 'cmd[\\/]containerd[\\/]builtins[\\/]'
|
|
text: "blank-imports:"
|
|
- path: 'contrib[\\/]fuzz[\\/]'
|
|
text: "exported: func name will be used as fuzz.Fuzz"
|
|
- path: 'archive[\\/]tarheader[\\/]'
|
|
# conversion is necessary on Linux, unnecessary on macOS
|
|
text: "unnecessary conversion"
|
|
- path: 'integration[\\/]client'
|
|
text: "dot-imports:"
|
|
- linters:
|
|
- revive
|
|
text: "if-return"
|
|
- linters:
|
|
- revive
|
|
text: "empty-block"
|
|
- linters:
|
|
- revive
|
|
text: "superfluous-else"
|
|
- linters:
|
|
- revive
|
|
text: "unused-parameter"
|
|
- linters:
|
|
- revive
|
|
text: "unreachable-code"
|
|
- linters:
|
|
- revive
|
|
text: "redefines-builtin-id"
|
|
|
|
linters-settings:
|
|
depguard:
|
|
rules:
|
|
main:
|
|
deny:
|
|
- pkg: github.com/opencontainers/runc
|
|
desc: We don't want to depend on runc (libcontainer), unless there is no other option; see https://github.com/opencontainers/runc/issues/3028.
|
|
|
|
gosec:
|
|
# The following issues surfaced when `gosec` linter
|
|
# was enabled. They are temporarily excluded to unblock
|
|
# the existing workflow, but still to be addressed by
|
|
# future works.
|
|
excludes:
|
|
- G204
|
|
- G305
|
|
- G306
|
|
- G402
|
|
- G404
|
|
- G115
|
|
nolintlint:
|
|
allow-unused: true
|
|
|
|
exclude-dirs:
|
|
- api
|
|
- cluster
|
|
- docs
|
|
- docs/man
|
|
- releases
|
|
- test # e2e scripts
|
|
|
|
run:
|
|
timeout: 8m
|