Skip to content

Commit 6e6349a

Browse files
committed
Update golangci to v2
Signed-off-by: apostasie <[email protected]>
1 parent c57654b commit 6e6349a

File tree

5 files changed

+154
-182
lines changed

5 files changed

+154
-182
lines changed

.github/workflows/lint.yml

-3
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,3 @@ jobs:
7575
run: make lint-yaml
7676
- name: shell
7777
run: make lint-shell
78-
- name: go imports ordering
79-
run: |
80-
make lint-imports

.golangci.yml

+141-153
Original file line numberDiff line numberDiff line change
@@ -1,167 +1,155 @@
1-
---
1+
version: "2"
2+
23
run:
3-
concurrency: 6
4-
timeout: 5m
4+
modules-download-mode: readonly
5+
6+
issues:
7+
max-issues-per-linter: 0
8+
max-same-issues: 0
9+
510
linters:
6-
disable-all: true
11+
default: none
712
enable:
813
- depguard
9-
- gofmt
10-
- goimports
1114
- govet
1215
- ineffassign
1316
- misspell
1417
- nakedret
1518
- prealloc
16-
- typecheck
17-
# - asciicheck
18-
# - bodyclose
19-
# - dogsled
20-
# - dupl
21-
# - errcheck
22-
# - errorlint
23-
# - exhaustive
24-
# - exhaustivestruct
25-
# - exportloopref
26-
# - funlen
27-
# - gci
28-
# - gochecknoglobals
29-
# - gochecknoinits
30-
# - gocognit
31-
# - goconst
32-
# - gocritic
33-
# - gocyclo
34-
# - godot
35-
# - godox
36-
# - goerr113
37-
# - gofumpt
38-
# - goheader
39-
# - golint
40-
# - gomnd
41-
# - gomodguard
42-
# - goprintffuncname
43-
# - gosec (gas)
44-
- gosimple # (megacheck)
45-
# - interfacer
46-
# - lll
47-
# - maligned
48-
# - nestif
49-
# - nlreturn
50-
# - noctx
51-
# - nolintlint
5219
- revive
53-
# - rowserrcheck
54-
# - scopelint
55-
# - sqlclosecheck
5620
- staticcheck
57-
- stylecheck
58-
# - testpackage
59-
# - tparallel
6021
- unconvert
61-
# - unparam
6222
- unused
63-
# - whitespace
64-
# - wrapcheck
65-
# - wsl
66-
linters-settings:
67-
gocritic:
68-
enabled-checks:
69-
# Diagnostic
70-
- appendAssign
71-
- argOrder
72-
- badCond
73-
- caseOrder
74-
- codegenComment
75-
- commentedOutCode
76-
- deprecatedComment
77-
- dupArg
78-
- dupBranchBody
79-
- dupCase
80-
- dupSubExpr
81-
- exitAfterDefer
82-
- flagDeref
83-
- flagName
84-
- nilValReturn
85-
- offBy1
86-
- sloppyReassign
87-
- weakCond
88-
- octalLiteral
89-
90-
# Performance
91-
- appendCombine
92-
- equalFold
93-
- hugeParam
94-
- indexAlloc
95-
- rangeExprCopy
96-
- rangeValCopy
97-
98-
# Style
99-
- assignOp
100-
- boolExprSimplify
101-
- captLocal
102-
- commentFormatting
103-
- commentedOutImport
104-
- defaultCaseOrder
105-
- docStub
106-
- elseif
107-
- emptyFallthrough
108-
- emptyStringTest
109-
- hexLiteral
110-
- ifElseChain
111-
- methodExprCall
112-
- regexpMust
113-
- singleCaseSwitch
114-
- sloppyLen
115-
- stringXbytes
116-
- switchTrue
117-
- typeAssertChain
118-
- typeSwitchVar
119-
- underef
120-
- unlabelStmt
121-
- unlambda
122-
- unslice
123-
- valSwap
124-
- wrapperFunc
125-
- yodaStyleExpr
23+
settings:
24+
staticcheck:
25+
checks:
26+
# Below is the default set
27+
- "all"
28+
- "-ST1000"
29+
- "-ST1003"
30+
- "-ST1016"
31+
- "-ST1020"
32+
- "-ST1021"
33+
- "-ST1022"
34+
# FIXME: this below this point is disabled for now, but we should investigate
35+
- "-QF1008"
36+
- "-QF1003"
37+
- "-QF1009"
38+
- "-QF1001"
39+
- "-QF1012"
40+
- "-ST1005"
41+
- "-QF1004"
42+
revive:
43+
rules:
44+
- name: exported
45+
disabled: true
46+
depguard:
47+
rules:
48+
no-patent:
49+
deny:
50+
- pkg: github.com/hashicorp/golang-lru/arc/v2
51+
desc: patented (https://github.com/hashicorp/golang-lru/blob/arc/v2.0.7/arc/arc.go#L18)
52+
# pkg files must not depend on cobra nor anything in cmd
53+
pkg:
54+
files:
55+
- '**/pkg/**/*.go'
56+
deny:
57+
- pkg: github.com/spf13/cobra
58+
desc: pkg must not depend on cobra
59+
- pkg: github.com/spf13/pflag
60+
desc: pkg must not depend on pflag
61+
- pkg: github.com/spf13/viper
62+
desc: pkg must not depend on viper
63+
- pkg: github.com/containerd/nerdctl/v2/cmd
64+
desc: pkg must not depend on any cmd files
65+
gocritic:
66+
enabled-checks:
67+
- appendAssign
68+
- argOrder
69+
- badCond
70+
- caseOrder
71+
- codegenComment
72+
- commentedOutCode
73+
- deprecatedComment
74+
- dupArg
75+
- dupBranchBody
76+
- dupCase
77+
- dupSubExpr
78+
- exitAfterDefer
79+
- flagDeref
80+
- flagName
81+
- nilValReturn
82+
- offBy1
83+
- sloppyReassign
84+
- weakCond
85+
- octalLiteral
86+
- appendCombine
87+
- equalFold
88+
- hugeParam
89+
- indexAlloc
90+
- rangeExprCopy
91+
- rangeValCopy
92+
- assignOp
93+
- boolExprSimplify
94+
- captLocal
95+
- commentFormatting
96+
- commentedOutImport
97+
- defaultCaseOrder
98+
- docStub
99+
- elseif
100+
- emptyFallthrough
101+
- emptyStringTest
102+
- hexLiteral
103+
- ifElseChain
104+
- methodExprCall
105+
- regexpMust
106+
- singleCaseSwitch
107+
- sloppyLen
108+
- stringXbytes
109+
- switchTrue
110+
- typeAssertChain
111+
- typeSwitchVar
112+
- underef
113+
- unlabelStmt
114+
- unlambda
115+
- unslice
116+
- valSwap
117+
- wrapperFunc
118+
- yodaStyleExpr
119+
- builtinShadow
120+
- importShadow
121+
- initClause
122+
- nestingReduce
123+
- paramTypeCombine
124+
- ptrToRefParam
125+
- typeUnparen
126+
- unnamedResult
127+
- unnecessaryBlock
128+
exclusions:
129+
generated: disable
126130

127-
# Opinionated
128-
- builtinShadow
129-
- importShadow
130-
- initClause
131-
- nestingReduce
132-
- paramTypeCombine
133-
- ptrToRefParam
134-
- typeUnparen
135-
- unnamedResult
136-
- unnecessaryBlock
137-
138-
depguard:
139-
rules:
140-
# pkg files must not depend on cobra nor anything in cmd
141-
pkg:
142-
files:
143-
- "**/pkg/**/*.go"
144-
deny:
145-
- pkg: "github.com/spf13/cobra"
146-
desc: "pkg must not depend on cobra"
147-
- pkg: "github.com/spf13/pflag"
148-
desc: "pkg must not depend on pflag"
149-
- pkg: "github.com/spf13/viper"
150-
desc: "pkg must not depend on viper"
151-
- pkg: "github.com/containerd/nerdctl/v2/cmd"
152-
desc: "pkg must not depend on any cmd files"
153-
no-patent:
154-
deny:
155-
- pkg: "github.com/hashicorp/golang-lru/arc/v2"
156-
desc: "patented (https://github.com/hashicorp/golang-lru/blob/arc/v2.0.7/arc/arc.go#L18)"
157-
158-
issues:
159-
max-issues-per-linter: 0
160-
max-same-issues: 0
161-
exclude-rules:
162-
- linters:
163-
- revive
164-
text: "unused-parameter"
165-
166-
output:
167-
sort-results: true
131+
formatters:
132+
settings:
133+
gci:
134+
sections:
135+
- standard
136+
- default
137+
- prefix(github.com/containerd)
138+
- localmodule
139+
no-inline-comments: true
140+
no-prefix-comments: true
141+
custom-order: true
142+
gofumpt:
143+
extra-rules: true
144+
golines:
145+
max-len: 100
146+
tab-len: 4
147+
shorten-comments: true
148+
enable:
149+
- gci
150+
- gofmt
151+
# We might consider enabling the following:
152+
# - gofumpt
153+
# - golines
154+
exclusions:
155+
generated: disable

Makefile

+10-25
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
# Configuration
2323
##########################
2424
PACKAGE := "github.com/containerd/nerdctl/v2"
25-
ORG_PREFIXES := "github.com/containerd"
2625

2726
DOCKER ?= docker
2827
GO ?= go
@@ -80,9 +79,9 @@ endef
8079
##########################
8180
all: binaries
8281

83-
lint: lint-go-all lint-imports lint-yaml lint-shell lint-commits lint-mod lint-licenses-all
82+
lint: lint-go-all lint-yaml lint-shell lint-commits lint-mod lint-licenses-all
8483

85-
fix: fix-mod fix-imports fix-go-all
84+
fix: fix-mod fix-go-all
8685

8786
# TODO: fix race task and add it
8887
test: test-unit # test-unit-race test-unit-bench
@@ -139,12 +138,6 @@ lint-go-all:
139138
&& GOOS=freebsd make lint-go
140139
$(call footer, $@)
141140

142-
lint-imports:
143-
$(call title, $@)
144-
@cd $(MAKEFILE_DIR) \
145-
&& goimports-reviser -recursive -list-diff -set-exit-status -output stdout -company-prefixes "$(ORG_PREFIXES)" ./...
146-
$(call footer, $@)
147-
148141
lint-yaml:
149142
$(call title, $@)
150143
cd $(MAKEFILE_DIR) \
@@ -206,12 +199,6 @@ fix-go-all:
206199
&& GOOS=windows make fix-go
207200
$(call footer, $@)
208201

209-
fix-imports:
210-
$(call title, $@)
211-
@cd $(MAKEFILE_DIR) \
212-
&& goimports-reviser -company-prefixes $(ORG_PREFIXES) ./...
213-
$(call footer, $@)
214-
215202
fix-mod:
216203
$(call title, $@)
217204
@cd $(MAKEFILE_DIR) \
@@ -223,19 +210,17 @@ fix-mod:
223210
##########################
224211
install-dev-tools:
225212
$(call title, $@)
226-
# golangci: v1.64.5
227-
# git-validation: main from 2023/11
228-
# ltag: v0.2.5
229-
# go-licenses: v2.0.0-alpha.1
230-
# goimports-reviser: v3.8.2
213+
# golangci: v2.0.2 (2024-03-26)
214+
# git-validation: main (2025-02-25)
215+
# ltag: main (2025-03-04)
216+
# go-licenses: v2.0.0-alpha.1 (2024-06-27)
231217
@cd $(MAKEFILE_DIR) \
232-
&& go install github.com/golangci/golangci-lint/cmd/golangci-lint@0a603e49e5e9870f5f9f2035bcbe42cd9620a9d5 \
233-
&& go install github.com/vbatts/git-validation@679e5cad8c50f1605ab3d8a0a947aaf72fb24c07 \
234-
&& go install github.com/kunalkushwaha/ltag@b0cfa33e4cc9383095dc584d3990b62c95096de0 \
218+
&& go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@2b224c2cf4c9f261c22a16af7f8ca6408467f338 \
219+
&& go install github.com/vbatts/git-validation@7b60e35b055dd2eab5844202ffffad51d9c93922 \
220+
&& go install github.com/containerd/ltag@66e6a514664ee2d11a470735519fa22b1a9eaabd \
235221
&& go install github.com/google/go-licenses/v2@d01822334fba5896920a060f762ea7ecdbd086e8 \
236-
&& go install github.com/incu6us/goimports-reviser/v3@f034195cc8a7ffc7cc70d60aa3a25500874eaf04 \
237222
&& go install gotest.tools/gotestsum@ac6dad9c7d87b969004f7749d1942938526c9716
238-
@echo "Remember to add GOROOT/bin to your path"
223+
@echo "Remember to add \$$HOME/go/bin to your path"
239224
$(call footer, $@)
240225

241226
##########################

cmd/nerdctl/container/container_inspect_linux_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030

3131
"github.com/containerd/nerdctl/mod/tigron/expect"
3232
"github.com/containerd/nerdctl/mod/tigron/test"
33+
3334
"github.com/containerd/nerdctl/v2/pkg/infoutil"
3435
"github.com/containerd/nerdctl/v2/pkg/inspecttypes/dockercompat"
3536
"github.com/containerd/nerdctl/v2/pkg/labels"

0 commit comments

Comments
 (0)