build: migrate golangci-lint config to v2

This commit is contained in:
tr1sm0s1n 2025-03-31 11:00:57 +05:30
parent 1d3f258ebb
commit 14db050bd7
No known key found for this signature in database
GPG key ID: 0F30FF07CAB2F87A

View file

@ -1,31 +1,25 @@
# This file configures github.com/golangci/golangci-lint. # This file configures github.com/golangci/golangci-lint.
version: '2'
run: run:
timeout: 20m
tests: true tests: true
linters: linters:
disable-all: true default: none
enable: enable:
- goimports
- gosimple
- govet
- ineffassign
- misspell
- unconvert
- typecheck
- unused
- staticcheck
- bidichk - bidichk
- durationcheck
- copyloopvar - copyloopvar
- whitespace
- revive # only certain checks enabled
- durationcheck - durationcheck
- gocheckcompilerdirectives - gocheckcompilerdirectives
- reassign - govet
- ineffassign
- mirror - mirror
- misspell
- reassign
- revive # only certain checks enabled
- staticcheck
- unconvert
- unused
- usetesting - usetesting
- whitespace
### linters we tried and will not be using: ### linters we tried and will not be using:
### ###
# - structcheck # lots of false positives # - structcheck # lots of false positives
@ -36,10 +30,11 @@ linters:
# - exhaustive # silly check # - exhaustive # silly check
# - makezero # false positives # - makezero # false positives
# - nilerr # several intentional # - nilerr # several intentional
settings:
linters-settings: staticcheck:
gofmt: checks:
simplify: true # disable Quickfixes
- -QF1*
revive: revive:
enable-all-rules: false enable-all-rules: false
# here we enable specific useful rules # here we enable specific useful rules
@ -48,22 +43,23 @@ linters-settings:
- name: receiver-naming - name: receiver-naming
severity: warning severity: warning
disabled: false disabled: false
exclude: [""] exclude:
- ''
issues: exclusions:
# default is true. Enables skipping of directories: generated: lax
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$ presets:
exclude-dirs-use-default: true - comments
exclude-files: - common-false-positives
- core/genesis_alloc.go - legacy
exclude-rules: - std-error-handling
- path: crypto/bn256/cloudflare/optate.go rules:
linters: - linters:
- deadcode - deadcode
- staticcheck - staticcheck
- path: crypto/bn256/ path: crypto/bn256/cloudflare/optate.go
linters: - linters:
- revive - revive
path: crypto/bn256/
- path: cmd/utils/flags.go - path: cmd/utils/flags.go
text: "SA1019: cfg.TxLookupLimit is deprecated: use 'TransactionHistory' instead." text: "SA1019: cfg.TxLookupLimit is deprecated: use 'TransactionHistory' instead."
- path: cmd/utils/flags.go - path: cmd/utils/flags.go
@ -72,8 +68,29 @@ issues:
text: 'SA1019: "golang.org/x/crypto/openpgp" is deprecated: this package is unmaintained except for security fixes.' text: 'SA1019: "golang.org/x/crypto/openpgp" is deprecated: this package is unmaintained except for security fixes.'
- path: core/vm/contracts.go - path: core/vm/contracts.go
text: 'SA1019: "golang.org/x/crypto/ripemd160" is deprecated: RIPEMD-160 is a legacy hash and should not be used for new applications.' text: 'SA1019: "golang.org/x/crypto/ripemd160" is deprecated: RIPEMD-160 is a legacy hash and should not be used for new applications.'
exclude: - path: (.+)\.go$
- 'SA1019: event.TypeMux is deprecated: use Feed' text: 'SA1019: event.TypeMux is deprecated: use Feed'
- 'SA1019: strings.Title is deprecated' - path: (.+)\.go$
- 'SA1019: strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead.' text: 'SA1019: strings.Title is deprecated'
- 'SA1029: should not use built-in type string as key for value' - path: (.+)\.go$
text: 'SA1019: strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead.'
- path: (.+)\.go$
text: 'SA1029: should not use built-in type string as key for value'
paths:
- core/genesis_alloc.go
- third_party$
- builtin$
- examples$
formatters:
enable:
- goimports
settings:
gofmt:
simplify: true
exclusions:
generated: lax
paths:
- core/genesis_alloc.go
- third_party$
- builtin$
- examples$