chore: update golangci-lint config to v2

Signed-off-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
This commit is contained in:
Francesco Canovai 2025-03-27 15:23:33 +01:00
parent b25a04a8c3
commit 883cb4b65c

View File

@ -1,45 +1,25 @@
linters-settings: version: "2"
lll:
line-length: 120
gci:
sections:
- standard
- default
- prefix(github.com/cloudnative-pg/plugin-barman-cloud)
- blank
- dot
gosec:
excludes:
- G101 # remove this exclude when https://github.com/securego/gosec/issues/1001 is fixed
linters: linters:
# please, do not use `enable-all`: it's deprecated and will be removed soon. default: none
# inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint
disable-all: true
enable: enable:
- asciicheck - asciicheck
- bodyclose - bodyclose
- copyloopvar
- dogsled - dogsled
- dupl - dupl
- durationcheck - durationcheck
- errcheck - errcheck
- copyloopvar - ginkgolinter
- gci
- gocognit - gocognit
- goconst - goconst
- gocritic - gocritic
- gocyclo - gocyclo
- gofmt
- gofumpt
- goheader - goheader
- goimports
- gomoddirectives - gomoddirectives
- gomodguard - gomodguard
- goprintffuncname - goprintffuncname
- gosec - gosec
- gosimple
- govet - govet
- ginkgolinter
- importas - importas
- ineffassign - ineffassign
- lll - lll
@ -53,82 +33,60 @@ linters:
- rowserrcheck - rowserrcheck
- sqlclosecheck - sqlclosecheck
- staticcheck - staticcheck
- stylecheck
- thelper - thelper
- tparallel - tparallel
- typecheck
- unconvert - unconvert
- unparam - unparam
- unused - unused
- wastedassign - wastedassign
- whitespace - whitespace
settings:
# to be checked: lll:
# - errorlint line-length: 120
# - forbidigo exclusions:
# - forcetypeassert generated: lax
# - goerr113 rules:
# - ifshort - linters:
# - nilerr - revive
# - nlreturn text: should not use dot imports
# - noctx source: ginkgo|gomega
# - nolintlint - linters:
# - paralleltest - goconst
# - promlinter path: _test\.go
# - tagliatelle - linters:
# - wrapcheck - lll
source: //\s*\+
# don't enable: - linters:
# - cyclop - staticcheck
# - depguard path: api/
# - exhaustive text: 'ST1016:'
# - exhaustivestruct paths:
# - funlen - zz_generated.*
# - gochecknoglobals - internal/operator/controller/suite_test.go
# - gochecknoinits - test
# - godot - third_party$
# - godox - builtin$
# - gomnd - examples$
# - testpackage formatters:
# - wsl enable:
- gci
# deprecated: - gofmt
# - deadcode - gofumpt
# - golint - goimports
# - interfacer settings:
# - maligned gci:
# - scopelint sections:
# - structcheck - standard
# - varcheck - default
- prefix(github.com/cloudnative-pg/plugin-barman-cloud)
run: - blank
timeout: 10m - dot
exclusions:
issues: generated: lax
exclude-rules: paths:
# Allow dot imports for ginkgo and gomega - zz_generated.*
- source: ginkgo|gomega - internal/operator/controller/suite_test.go
linters: - test
- revive - third_party$
text: "should not use dot imports" - builtin$
# Exclude some linters from running on tests files. - examples$
- path: _test\.go
linters:
- goconst
# Exclude lll issues for lines with long annotations
- linters:
- lll
source: "//\\s*\\+"
# We have no control of this in zz_generated files and it looks like that excluding those files is not enough
# so we disable "ST1016: methods on the same type should have the same receiver name" in api directory
- linters:
- stylecheck
text: "ST1016:"
path: api/
exclude-use-default: false
exclude-dirs:
# This tests are generated by kubebuilder
- test
exclude-files:
- zz_generated.*
- internal/operator/controller/suite_test.go