-
Notifications
You must be signed in to change notification settings - Fork 282
Expand file tree
/
Copy path.golangci.yml
More file actions
165 lines (153 loc) · 4.53 KB
/
.golangci.yml
File metadata and controls
165 lines (153 loc) · 4.53 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
155
156
157
158
159
160
161
162
163
164
165
version: "2"
run:
build-tags:
- admin
- functional
- integration
tests: true
linters:
enable:
- errorlint # error wrapping (eg, not using `errors.Is`, using `%s` instead of `%w` in `fmt.Errorf`)
- nolintlint # ill-formed or insufficient nolint directives
- thelper # test helpers without t.Helper()
settings:
govet:
disable:
# struct order is often for Win32 compat
# also, ignore pointer bytes/GC issues for now until performance becomes an issue
- fieldalignment
enable-all: true
staticcheck:
# https://staticcheck.io/docs/checks
checks:
- all
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
rules:
# err is very often shadowed in nested scopes
- linters:
- govet
text: '^shadow: declaration of "err" shadows declaration'
# path is relative to module root, which is ./test/
- linters:
- staticcheck
path: cri-containerd
text: "^ST1003: should not use underscores in package names$"
source: ^package cri_containerd$
# don't bother with propper error wrapping in test code
- linters:
- errorlint
path: cri-containerd
text: non-wrapping format verb for fmt.Errorf
# static check doesn't recognize `t.Fatal[f]?` when checking for potential `nil` pointer dereference
- linters:
- staticcheck
path: ".*_test.go$"
text: "^SA5011"
# This repo has a LOT of generated schema files, operating system bindings, and other
# things that ST1003 from stylecheck won't like (screaming case Windows api constants for example).
# There's also some structs that we *could* change the initialisms to be Go friendly
# (Id -> ID) but they're exported and it would be a breaking change.
# This makes it so that most new code, code that isn't supposed to be a pretty faithful
# mapping to an OS call/constants, or non-generated code still checks if we're following idioms,
# while ignoring the things that are just noise or would be more of a hassle than it'd be worth to change.
- linters:
- staticcheck
path: layer.go
text: "ST1003:"
- linters:
- staticcheck
path: hcsshim.go
text: "ST1003:"
- linters:
- staticcheck
path: cmd/ncproxy/nodenetsvc/
text: "ST1003:"
- linters:
- staticcheck
path: cmd/ncproxy_mock/
text: "ST1003:"
- linters:
- staticcheck
path: internal/hcs/schema2/
- linters:
- staticcheck
path: internal/wclayer/
text: "ST1003:"
- linters:
- staticcheck
path: hcn/
text: "ST1003:"
- linters:
- staticcheck
path: internal/hcs/schema1/
text: "ST1003:"
- linters:
- staticcheck
path: internal/hns/
text: "ST1003:"
- linters:
- staticcheck
path: ext4/internal/compactext4/
text: "ST1003:"
- linters:
- staticcheck
path: ext4/internal/format/
text: "ST1003:"
- linters:
- staticcheck
path: internal/guestrequest/
text: "ST1003:"
- linters:
- staticcheck
path: internal/guest/prot/
text: "ST1003:"
- linters:
- staticcheck
path: internal/windevice/
text: "ST1003:"
- linters:
- staticcheck
path: internal/winapi/
text: "ST1003:"
- linters:
- staticcheck
path: internal/vmcompute/
text: "ST1003:"
- linters:
- staticcheck
path: internal/regstate/
text: "ST1003:"
- linters:
- staticcheck
path: internal/hcserror/
text: "ST1003:"
# v0 APIs are deprecated, but still retained for backwards compatability
- linters:
- staticcheck
path: cmd/ncproxy/
text: "^SA1019: .*(ncproxygrpc|nodenetsvc)[/]?v0"
- linters:
- staticcheck
path: internal/tools/networkagent
text: "^SA1019: .*nodenetsvc[/]?v0"
- linters:
- staticcheck
path: internal/vhdx/info
text: "ST1003:"
paths:
# paths are relative to module root
- cri-containerd/test-images
formatters:
enable:
- gofmt
exclusions:
generated: lax
paths:
- cri-containerd/test-images
- internal/hcs/schema2/