Repository navigation
Expand file tree
/
Copy path.golangci.yml
More file actions
154 lines (154 loc) · 4.45 KB
/
Copy path.golangci.yml
File metadata and controls
154 lines (154 loc) · 4.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
version: "2"
linters:
enable:
- copyloopvar # Checks for loop variable copies in Go 1.22+
- depguard # Checks for dependencies that should not be (re)introduced. See "settings" for further details.
- dupword # Checks for duplicate words in the source code
- gosec
- misspell
- modernize # Suggests modernizations to Go code; see https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/modernize
- nolintlint
- perfsprint # Checks that fmt.Sprintf can be replaced with a faster alternative.
- revive
- unconvert
- usetesting
disable:
- errcheck
settings:
depguard:
rules:
main:
deny:
- pkg: github.com/opencontainers/runc
desc: We don't want to depend on runc (libcontainer), unless there is no other option; see https://github.com/opencontainers/runc/issues/3028.
forbidigo:
forbid:
- pkg: ^regexp$
msg: Use internal/lazyregexp.New instead.
gosec:
# The following issues surfaced when `gosec` linter
# was enabled. They are temporarily excluded to unblock
# the existing workflow, but still to be addressed by
# future works.
excludes:
- G204
- G305
- G306
- G402
- G404
- G115
- G103
- G104
- G301
- G302
- G304
- G703
- G122
modernize:
disable:
# see https://github.com/containerd/containerd/pull/14268#discussion_r4147027776
- embedlit
# TODO(thaJeztah): enable testingcontext once github.com/AdamKorcz/go-118-fuzz-build is updated.
# see https://github.com/containerd/containerd/pull/13022#discussion_r2937038804
- testingcontext
staticcheck:
checks:
- all
- -QF1008 # Excludes QF1008 from staticcheck
- -ST1000
- -ST1020
- -ST1021
revive:
rules:
- name: package-comments
severity: warning
disabled: true
exclude: [ "" ]
nolintlint:
allow-unused: true
exclusions:
generated: lax
rules:
# Staticcheck analyzes one GOOS at a time. On unsupported platforms,
# these shared callers resolve to stubs that always return errors, so
# SA4023 reports their valid cross-platform error checks as constant.
# Keep the exclusions scoped to those callers because CI also analyzes
# the supported implementations, which can return nil.
- path: contrib[\\/]checkpoint[\\/]checkcriu\.go
text: SA4023
linters:
- staticcheck
- path: core[\\/]mount[\\/](manager[\\/]manager|mount|mount_unix)\.go
text: SA4023
linters:
- staticcheck
- path: internal[\\/]cri[\\/]server[\\/]sandbox_stats\.go
text: SA4023
linters:
- staticcheck
- path: plugins[\\/]content[\\/]local[\\/](store|writer)\.go
text: SA4023
linters:
- staticcheck
- path: plugins[\\/](diff|snapshots)[\\/]erofs[\\/](differ|erofs)\.go
text: SA4023
linters:
- staticcheck
# Metric descriptors are currently only used for linux
- path: cri[\\/]server[\\/]list_metric_descriptors.go
linters:
- unused
- path: cmd[\\/]containerd[\\/]builtins[\\/]
text: 'blank-imports:'
- path: contrib[\\/]fuzz[\\/]
text: 'exported: func name will be used as fuzz.Fuzz'
- path: archive[\\/]tarheader[\\/]
# conversion is necessary on Linux, unnecessary on macOS
text: unnecessary conversion
- path: integration[\\/]client
text: 'dot-imports:'
- linters:
- revive
text: if-return
- linters:
- revive
text: empty-block
- linters:
- revive
text: superfluous-else
- linters:
- revive
text: unused-parameter
- linters:
- revive
text: unreachable-code
- linters:
- revive
text: redefines-builtin-id
- linters:
- forbidigo
text: 'use of `regexp.MustCompile` forbidden'
path: _test\.go
paths:
- api
- cluster
- docs
- docs/man
- releases
- test
issues:
max-issues-per-linter: 0
max-same-issues: 0
formatters:
enable:
- gofmt
- goimports
exclusions:
generated: strict
paths:
- api
- cluster
- docs
- docs/man
- releases
- test