Skip to content

Commit ab38277

Browse files
committed
Update golangci-lint
1 parent 2bd0392 commit ab38277

11 files changed

Lines changed: 85 additions & 75 deletions

File tree

.github/workflows/lint.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,17 @@ jobs:
2626
- name: Setup Go
2727
uses: actions/setup-go@v5
2828
with:
29-
go-version: ^1.23
29+
go-version: ^1.25
3030
- name: Cache go module
3131
uses: actions/cache@v4
3232
with:
3333
path: |
3434
~/go/pkg/mod
3535
key: go-${{ hashFiles('**/go.sum') }}
3636
- name: golangci-lint
37-
uses: golangci/golangci-lint-action@v6
37+
uses: golangci/golangci-lint-action@v8
3838
with:
39-
version: latest
39+
version: latest
40+
args: --timeout=30m
41+
install-mode: binary
42+
verify: false

.golangci.yml

Lines changed: 46 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,50 @@
1+
version: "2"
2+
run:
3+
go: "1.24"
14
linters:
2-
disable-all: true
5+
default: none
36
enable:
4-
- gofumpt
57
- govet
6-
- gci
7-
- staticcheck
8-
- paralleltest
98
- ineffassign
10-
11-
linters-settings:
12-
gci:
13-
custom-order: true
14-
sections:
15-
- standard
16-
- prefix(github.com/sagernet/)
17-
- default
18-
staticcheck:
19-
checks:
20-
- all
21-
- -SA1003
22-
23-
run:
24-
go: "1.23"
9+
- paralleltest
10+
- staticcheck
11+
settings:
12+
staticcheck:
13+
checks:
14+
- all
15+
- -S1000
16+
- -S1008
17+
- -S1017
18+
- -ST1001
19+
- -ST1003
20+
- -QF1001
21+
- -QF1003
22+
- -QF1008
23+
exclusions:
24+
generated: lax
25+
presets:
26+
- comments
27+
- common-false-positives
28+
- legacy
29+
- std-error-handling
30+
paths:
31+
- third_party$
32+
- builtin$
33+
- examples$
34+
formatters:
35+
enable:
36+
- gci
37+
- gofumpt
38+
settings:
39+
gci:
40+
sections:
41+
- standard
42+
- prefix(github.com/sagernet/)
43+
- default
44+
custom-order: true
45+
exclusions:
46+
generated: lax
47+
paths:
48+
- third_party$
49+
- builtin$
50+
- examples$

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ lint:
1515
GOOS=freebsd golangci-lint run
1616

1717
lint_install:
18-
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
18+
go install -v github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest
1919

2020
test:
2121
go test ./...

common/bufio/conn.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -190,40 +190,40 @@ type ExtendedConnWrapper struct {
190190
writer N.ExtendedWriter
191191
}
192192

193-
func (w *ExtendedConnWrapper) ReadBuffer(buffer *buf.Buffer) error {
194-
return w.reader.ReadBuffer(buffer)
193+
func (c *ExtendedConnWrapper) ReadBuffer(buffer *buf.Buffer) error {
194+
return c.reader.ReadBuffer(buffer)
195195
}
196196

197-
func (w *ExtendedConnWrapper) WriteBuffer(buffer *buf.Buffer) error {
198-
return w.writer.WriteBuffer(buffer)
197+
func (c *ExtendedConnWrapper) WriteBuffer(buffer *buf.Buffer) error {
198+
return c.writer.WriteBuffer(buffer)
199199
}
200200

201-
func (w *ExtendedConnWrapper) ReadFrom(r io.Reader) (n int64, err error) {
202-
return Copy(w.writer, r)
201+
func (c *ExtendedConnWrapper) ReadFrom(r io.Reader) (n int64, err error) {
202+
return Copy(c.writer, r)
203203
}
204204

205-
func (r *ExtendedConnWrapper) WriteTo(w io.Writer) (n int64, err error) {
206-
return Copy(w, r.reader)
205+
func (c *ExtendedConnWrapper) WriteTo(w io.Writer) (n int64, err error) {
206+
return Copy(w, c.reader)
207207
}
208208

209-
func (w *ExtendedConnWrapper) UpstreamReader() any {
210-
return w.reader
209+
func (c *ExtendedConnWrapper) UpstreamReader() any {
210+
return c.reader
211211
}
212212

213-
func (w *ExtendedConnWrapper) ReaderReplaceable() bool {
213+
func (c *ExtendedConnWrapper) ReaderReplaceable() bool {
214214
return true
215215
}
216216

217-
func (w *ExtendedConnWrapper) UpstreamWriter() any {
218-
return w.writer
217+
func (c *ExtendedConnWrapper) UpstreamWriter() any {
218+
return c.writer
219219
}
220220

221-
func (w *ExtendedConnWrapper) WriterReplaceable() bool {
221+
func (c *ExtendedConnWrapper) WriterReplaceable() bool {
222222
return true
223223
}
224224

225-
func (w *ExtendedConnWrapper) Upstream() any {
226-
return w.Conn
225+
func (c *ExtendedConnWrapper) Upstream() any {
226+
return c.Conn
227227
}
228228

229229
func NewExtendedConn(conn net.Conn) N.ExtendedConn {

common/bufio/net_test.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,7 @@ func newLargeDataPair() (chan hashPair, chan hashPair, func(t *testing.T) error)
9191
var serverPair hashPair
9292
var clientPair hashPair
9393

94-
for {
95-
if pingOpen && pongOpen {
96-
break
97-
}
98-
94+
for !(pingOpen && pongOpen) {
9995
select {
10096
case serverPair, pingOpen = <-pingCh:
10197
assert.True(t, pingOpen)

common/bufio/vectorised_unix.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ func (w *SyscallVectorisedPacketWriter) WriteVectorisedPacket(buffers []*buf.Buf
107107
msg.SetIovlen(len(iovecList))
108108
}
109109
for {
110+
//nolint:staticcheck
110111
_, _, innerErr = unix.RawSyscall(unix.SYS_SENDMSG, fd, uintptr(unsafe.Pointer(&msg)), 0)
111112
if innerErr == unix.EINTR {
112113
continue

common/byteformats/json.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,11 +164,11 @@ type MemoryBytes struct {
164164
rawBytes
165165
}
166166

167-
func (b *MemoryBytes) Value() uint64 {
168-
if b == nil {
167+
func (m *MemoryBytes) Value() uint64 {
168+
if m == nil {
169169
return 0
170170
}
171-
return b.value
171+
return m.value
172172
}
173173

174174
func (m *MemoryBytes) UnmarshalJSON(bytes []byte) error {

common/json/internal/contextjson/encode.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,7 @@ func (e *encodeState) error(err error) {
307307
panic(jsonError{err})
308308
}
309309

310+
//nolint:staticcheck
310311
func isEmptyValue(v reflect.Value) bool {
311312
switch v.Kind() {
312313
case reflect.Array, reflect.Map, reflect.Slice, reflect.String:

common/network/handshake.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,9 @@ func CloseOnHandshakeFailure(reporter io.Closer, onClose CloseHandlerFunc, err e
3838
if handshakeConn, isHandshakeConn := common.Cast[HandshakeFailure](reporter); isHandshakeConn {
3939
hErr := handshakeConn.HandshakeFailure(err)
4040
err = E.Append(err, hErr, func(err error) error {
41-
if closer, isCloser := reporter.(io.Closer); isCloser {
42-
err = E.Append(err, closer.Close(), func(err error) error {
43-
return E.Cause(err, "close")
44-
})
45-
}
41+
err = E.Append(err, reporter.Close(), func(err error) error {
42+
return E.Cause(err, "close")
43+
})
4644
return E.Cause(err, "write handshake failure")
4745
})
4846
} else {

common/network/thread.go

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,7 @@ type LazyHeadroom interface {
7777

7878
func CalculateFrontHeadroom(writer any) int {
7979
var headroom int
80-
for {
81-
if writer == nil {
82-
break
83-
}
80+
for writer != nil {
8481
if lazyRoom, isLazy := writer.(LazyHeadroom); isLazy && lazyRoom.LazyHeadroom() {
8582
return DefaultHeadroom
8683
}
@@ -100,10 +97,7 @@ func CalculateFrontHeadroom(writer any) int {
10097

10198
func calculateReaderFrontHeadroom(reader any) int {
10299
var headroom int
103-
for {
104-
if reader == nil {
105-
break
106-
}
100+
for reader != nil {
107101
if lazyRoom, isLazy := reader.(LazyHeadroom); isLazy && lazyRoom.LazyHeadroom() {
108102
return DefaultHeadroom
109103
}
@@ -123,10 +117,7 @@ func calculateReaderFrontHeadroom(reader any) int {
123117

124118
func CalculateRearHeadroom(writer any) int {
125119
var headroom int
126-
for {
127-
if writer == nil {
128-
break
129-
}
120+
for writer != nil {
130121
if lazyRoom, isLazy := writer.(LazyHeadroom); isLazy && lazyRoom.LazyHeadroom() {
131122
return DefaultHeadroom
132123
}
@@ -168,10 +159,7 @@ func CalculateMTU(reader any, writer any) int {
168159

169160
func calculateReaderMTU(reader any) int {
170161
var mtu int
171-
for {
172-
if reader == nil {
173-
break
174-
}
162+
for reader != nil {
175163
if lazyRoom, isLazy := reader.(LazyHeadroom); isLazy && lazyRoom.LazyHeadroom() {
176164
return 0
177165
}
@@ -194,10 +182,7 @@ func calculateReaderMTU(reader any) int {
194182

195183
func calculateWriterMTU(writer any) int {
196184
var mtu int
197-
for {
198-
if writer == nil {
199-
break
200-
}
185+
for writer != nil {
201186
if lazyRoom, isLazy := writer.(LazyHeadroom); isLazy && lazyRoom.LazyHeadroom() {
202187
return 0
203188
}

0 commit comments

Comments
 (0)