-
Notifications
You must be signed in to change notification settings - Fork 57
/
Copy path.golangci.yml
84 lines (77 loc) · 2.24 KB
/
.golangci.yml
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
run:
timeout: 5m
allow-parallel-runners: true
modules-download-mode: readonly
linters:
disable-all: true
enable:
- depguard
- goconst
- gofmt
- staticcheck
- goheader
- gosec
- govet
- ineffassign
- misspell
- nakedret
- nolintlint
- unconvert
- gosimple
linters-settings:
nolintlint:
# Some linter exclusions are added to generated or templated files
# pre-emptively.
# Don't complain about these.
allow-unused: true
govet:
enable:
- nilness
# Reject comparisons of reflect.Value with DeepEqual or '=='.
- reflectvaluecompare
# Reject sort.Slice calls with a non-slice argument.
- sortslice
# Detect write to struct/arrays by-value that aren't read again.
- unusedwrite
depguard:
rules:
protobuf:
deny:
- pkg: "github.com/golang/protobuf"
desc: Use google.golang.org/protobuf instead
goheader:
values:
regexp:
COPYRIGHT_YEARS: (\d{4}-)?\d{4}
WHITESPACE: \s*
template: |-
Copyright {{ COPYRIGHT_YEARS }}, Pulumi Corporation.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
{{ WHITESPACE }}http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
issues:
# don't skip warning about doc comments
# don't exclude the default set of lint
exclude-use-default: false
# restore some of the defaults
# (fill in the rest as needed)
exclude-rules:
- linters: [goconst]
text: "string `test/pulumi:v3.42.0` has 3 occurrences, make it a constant"
- path: "api/*"
linters:
- lll
- path: "internal/*"
linters:
- dupl
- lll
# Ignore gosec warning about shelling out to make/kind/kubectl.
- path: "e2e/*"
linters: [gosec]
text: "G204:"