174 lines
3.2 KiB
YAML
174 lines
3.2 KiB
YAML
run:
|
|
timeout: 5m
|
|
issues-exit-code: 1
|
|
tests: true
|
|
build-tags:
|
|
- integration
|
|
|
|
output:
|
|
format: colored-line-number
|
|
print-issued-lines: true
|
|
print-linter-name: true
|
|
|
|
linters-settings:
|
|
errcheck:
|
|
check-type-assertions: true
|
|
check-blank: true
|
|
|
|
gocyclo:
|
|
min-complexity: 15
|
|
|
|
gofmt:
|
|
simplify: true
|
|
|
|
goimports:
|
|
local-prefixes: golang.zx2c4.com/wireguard
|
|
|
|
golint:
|
|
min-confidence: 0.8
|
|
|
|
govet:
|
|
check-shadowing: true
|
|
enable-all: true
|
|
|
|
ineffassign:
|
|
check-exported: false
|
|
|
|
misspell:
|
|
locale: US
|
|
|
|
nakedret:
|
|
max-func-lines: 30
|
|
|
|
prealloc:
|
|
simple: true
|
|
range-loops: true
|
|
for-loops: false
|
|
|
|
unparam:
|
|
check-exported: false
|
|
|
|
unused:
|
|
check-exported: false
|
|
|
|
whitespace:
|
|
multi-if: false
|
|
multi-func: false
|
|
|
|
wsl:
|
|
strict-append: true
|
|
allow-assign-and-call: true
|
|
allow-multiline-assign: true
|
|
allow-cuddle-declarations: false
|
|
allow-trailing-comment: false
|
|
force-case-trailing-whitespace: 0
|
|
|
|
linters:
|
|
enable:
|
|
# Default linters
|
|
- errcheck
|
|
- gosimple
|
|
- govet
|
|
- ineffassign
|
|
- staticcheck
|
|
- typecheck
|
|
- unused
|
|
|
|
# Additional recommended linters
|
|
- asciicheck
|
|
- bodyclose
|
|
- cyclop
|
|
- dupl
|
|
- durationcheck
|
|
- errorlint
|
|
- exhaustive
|
|
- exportloopref
|
|
- forbidigo
|
|
- forcetypeassert
|
|
- gochecknoinits
|
|
- gocognit
|
|
- goconst
|
|
- gocritic
|
|
- gocyclo
|
|
- godot
|
|
- gofmt
|
|
- gofumpt
|
|
- goheader
|
|
- goimports
|
|
- gomnd
|
|
- gomoddirectives
|
|
- gomodguard
|
|
- goprintffuncname
|
|
- gosec
|
|
- grouper
|
|
- importas
|
|
- maintidx
|
|
- makezero
|
|
- misspell
|
|
- nakedret
|
|
- nestif
|
|
- nilerr
|
|
- nilnil
|
|
- noctx
|
|
- nolintlint
|
|
- prealloc
|
|
- predeclared
|
|
- promlinter
|
|
- revive
|
|
- rowserrcheck
|
|
- sqlclosecheck
|
|
- stylecheck
|
|
- tenv
|
|
- testpackage
|
|
- tparallel
|
|
- unconvert
|
|
- unparam
|
|
- wastedassign
|
|
- whitespace
|
|
|
|
disable:
|
|
- gochecknoglobals # Too restrictive for this codebase
|
|
- goerr113 # Error wrapping style is project-specific
|
|
- godox # TODO comments are fine
|
|
- lll # Line length is handled by formatter
|
|
- paralleltest # Not all tests need to be parallel
|
|
- wrapcheck # Error wrapping style is project-specific
|
|
- varnamelen # Variable naming style is project-specific
|
|
|
|
issues:
|
|
exclude-rules:
|
|
# Exclude some linters from running on tests files
|
|
- path: _test\.go
|
|
linters:
|
|
- gocyclo
|
|
- errcheck
|
|
- dupl
|
|
- gosec
|
|
- funlen
|
|
- goconst
|
|
- gocognit
|
|
- scopelint
|
|
- lll
|
|
|
|
# Exclude known false positives
|
|
- text: "weak cryptographic primitive"
|
|
linters:
|
|
- gosec
|
|
|
|
# Ignore certain GoDoc issues
|
|
- text: "should have a package comment"
|
|
linters:
|
|
- golint
|
|
- stylecheck
|
|
|
|
# Maximum issues count per one linter. Set to 0 to disable
|
|
max-issues-per-linter: 0
|
|
|
|
# Maximum count of issues with the same text. Set to 0 to disable
|
|
max-same-issues: 0
|
|
|
|
# Show only new issues created after git revision `REV`
|
|
new: false
|
|
|
|
# Fix issues automatically when possible
|
|
fix: false |