.golangci.yml
output:
sort-results: true
run:
timeout: 10m
build-tags:
- e2e
- integration
issues:
exclude-use-default: false
max-same-issues: 0
max-issues-per-linter: 0
exclude-rules:
- linters:
- forbidigo
text: "use of `fmt.Printf` forbidden by pattern"
linters-settings:
errcheck:
check-type-assertions: true
check-blank: true
gci:
sections:
- standard
- default
- prefix(github.com/flexkube/terraform-provider-flexkube)
godot:
capital: true
gofumpt:
extra-rules: true
govet:
enable-all: true
disable:
- fieldalignment
- shadow
makezero:
always: true
nolintlint:
allow-leading-space: false
require-explanation: true
require-specific: true
wsl:
force-err-cuddling: true
linters:
disable:
# We don't need this tight control over imports.
- depguard
# Disabled until we implement some error types and migrate to use them.
- goerr113
# As we use formatting rules from different linter and they are conflicting.
- gci
# To be able to make use of Go zero-value feature.
- exhaustivestruct
- exhaustruct
# Allow replacements to force specific versions of dependencies.
- gomoddirectives
# Temporarily disable assertion checks, as it adds a lot of boilerplate to the code.
- forcetypeassert
# To allow defensive approach when initializing structs.
- ireturn
# This linters should eventually be addressed and re-enabled.
- varnamelen
- errcheck
# Those linters has been deprecated.
- interfacer
- maligned
- golint
enable:
- asasalint
- asciicheck
- bidichk
- bodyclose
- containedctx
- contextcheck
- cyclop
- decorder
- dogsled
- dupl
- dupword
- durationcheck
- errchkjson
- errname
- errorlint
- execinquery
- exhaustive
- exportloopref
- forbidigo
- funlen
- gocheckcompilerdirectives
- gochecknoglobals
- gochecknoinits
- gocognit
- goconst
- gocritic
- gocyclo
- godot
- godox
- gofmt
- gofumpt
- goheader
- goimports
- gomnd
- gomodguard
- goprintffuncname
- gosmopolitan
- grouper
- importas
- ineffassign
- interfacebloat
- lll
- maintidx
- makezero
- mirror
- misspell
- musttag
- nakedret
- nestif
- nilerr
- nilnil
- nlreturn
- noctx
- nolintlint
- nonamedreturns
- nosprintfhostport
- paralleltest
- prealloc
- predeclared
- promlinter
- reassign
- revive
- sqlclosecheck
- stylecheck
- tagalign
- tagliatelle
- tenv
- testableexamples
- testpackage
- thelper
- tparallel
- unconvert
- unparam
- usestdlibvars
- wastedassign
- whitespace
- wrapcheck
- wsl
- zerologlint