Skip to content

Commit 17f913c

Browse files
fix: update golangci-lint action to version 7 and clean up linter settings
1 parent ee9440f commit 17f913c

File tree

2 files changed

+90
-111
lines changed

2 files changed

+90
-111
lines changed

.github/workflows/lint.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
with:
2222
go-version: 'stable'
2323
- name: golangci-lint
24-
uses: golangci/golangci-lint-action@v5
24+
uses: golangci/golangci-lint-action@v7
2525
with:
2626
version: latest
2727
github-token: ${{ secrets.GITHUB_TOKEN }}

.golangci.yaml

Lines changed: 89 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -1,116 +1,95 @@
1-
---
1+
version: "2"
22
linters:
33
enable:
4-
# check when errors are compared without errors.Is
4+
- dupword
55
- errorlint
6-
7-
# check imports order and makes it always deterministic.
8-
- gci
9-
10-
# Very Basic spell error checker
6+
- mirror
117
- misspell
12-
13-
# Fast, configurable, extensible, flexible, and beautiful linter for Go.
14-
# Drop-in replacement of golint.
15-
- revive
16-
17-
# make sure to use t.Helper() when needed
18-
- thelper
19-
20-
# ensure that lint exceptions have explanations. Consider the case below:
218
- nolintlint
22-
23-
# detect duplicated words in code
24-
- dupword
25-
26-
# mirror suggests rewrites to avoid unnecessary []byte/string conversion
27-
- mirror
28-
29-
# testify checks good usage of github.com/stretchr/testify.
9+
- revive
3010
- testifylint
31-
32-
linters-settings:
33-
dupword:
34-
# Keywords used to ignore detection.
35-
# Default: []
36-
ignore:
37-
- "FAIL" # "FAIL FAIL" is tolerated
38-
39-
nolintlint:
40-
# Disable to ensure that all nolint directives actually have an effect.
41-
# Default: false
42-
allow-unused: true # too many false positive reported
43-
# Exclude following linters from requiring an explanation.
44-
# Default: []
45-
allow-no-explanation: []
46-
# Enable to require an explanation of nonzero length
47-
# after each nolint directive.
48-
# Default: false
49-
require-explanation: true
50-
# Enable to require nolint directives to mention the specific
51-
# linter being suppressed.
52-
# Default: false
53-
require-specific: true
54-
55-
revive:
56-
rules:
57-
- name: bare-return
58-
- name: blank-imports
59-
- name: comment-spacings
60-
- name: context-as-argument
61-
arguments:
62-
- allowTypesBefore: "*testing.T"
63-
- name: context-keys-type
64-
- name: defer
65-
arguments:
66-
- ["call-chain", "loop"]
67-
- name: dot-imports
68-
- name: early-return
69-
- name: empty-block
70-
- name: error-return
71-
- name: error-strings
72-
- name: error-naming
73-
- name: errorf
74-
- name: exported
75-
arguments:
76-
# enables checking public methods of private types
77-
- "checkPrivateReceivers"
78-
# make error messages clearer
79-
- "sayRepetitiveInsteadOfStutters"
80-
- name: if-return
81-
- name: import-shadowing
82-
- name: increment-decrement
83-
- name: indent-error-flow
84-
- name: exported
85-
- name: var-naming
86-
- name: var-declaration
87-
- name: package-comments
88-
- name: range
89-
- name: receiver-naming
90-
- name: redefines-builtin-id
91-
- name: superfluous-else
92-
- name: time-naming
93-
- name: time-equal
94-
- name: unexported-return
95-
- name: use-any
96-
- name: unreachable-code
97-
- name: unhandled-error
98-
arguments:
99-
- "fmt.Print.*"
100-
- "fmt.Fprint.*"
101-
- "bytes.Buffer.Write.*"
102-
- "strings.Builder.Write.*"
103-
- name: unused-parameter
104-
- name: unused-receiver
105-
- name: useless-break
106-
107-
# define the import orders
108-
gci:
109-
sections:
110-
# Standard section: captures all standard packages.
111-
- standard
112-
# Default section: catchall that is not standard or custom
113-
- default
114-
# Custom section: groups all imports with the specified Prefix.
115-
- prefix(github.com/mfridman)
116-
11+
- thelper
12+
settings:
13+
dupword:
14+
ignore:
15+
- FAIL
16+
nolintlint:
17+
require-explanation: true
18+
require-specific: true
19+
allow-unused: true
20+
revive:
21+
rules:
22+
- name: bare-return
23+
- name: blank-imports
24+
- name: comment-spacings
25+
- name: context-as-argument
26+
arguments:
27+
- allowTypesBefore: '*testing.T'
28+
- name: context-keys-type
29+
- name: defer
30+
arguments:
31+
- - call-chain
32+
- loop
33+
- name: dot-imports
34+
- name: early-return
35+
- name: empty-block
36+
- name: error-return
37+
- name: error-strings
38+
- name: error-naming
39+
- name: errorf
40+
- name: exported
41+
arguments:
42+
- checkPrivateReceivers
43+
- sayRepetitiveInsteadOfStutters
44+
- name: if-return
45+
- name: import-shadowing
46+
- name: increment-decrement
47+
- name: indent-error-flow
48+
- name: exported
49+
- name: var-naming
50+
- name: var-declaration
51+
- name: package-comments
52+
- name: range
53+
- name: receiver-naming
54+
- name: redefines-builtin-id
55+
- name: superfluous-else
56+
- name: time-naming
57+
- name: time-equal
58+
- name: unexported-return
59+
- name: use-any
60+
- name: unreachable-code
61+
- name: unhandled-error
62+
arguments:
63+
- fmt.Print.*
64+
- fmt.Fprint.*
65+
- bytes.Buffer.Write.*
66+
- strings.Builder.Write.*
67+
- name: unused-parameter
68+
- name: unused-receiver
69+
- name: useless-break
70+
exclusions:
71+
generated: lax
72+
presets:
73+
- comments
74+
- common-false-positives
75+
- legacy
76+
- std-error-handling
77+
paths:
78+
- third_party$
79+
- builtin$
80+
- examples$
81+
formatters:
82+
enable:
83+
- gci
84+
settings:
85+
gci:
86+
sections:
87+
- standard
88+
- default
89+
- prefix(github.com/mfridman)
90+
exclusions:
91+
generated: lax
92+
paths:
93+
- third_party$
94+
- builtin$
95+
- examples$

0 commit comments

Comments
 (0)