Files
wireguard-go/.golangci.yml
T
Your Name c353e76058 add
2025-07-27 22:55:43 +08:00

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