-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
.golangci.yml
126 lines (121 loc) · 2.96 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
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
# Copyright 2019 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
run:
deadline: 8m
# Autogenerated files take too much time and memory to load,
# even if we skip them with issues.exclude-dirs.
# So we define this tag and use it in the autogenerated files.
build-tags:
- codeanalysis
output:
print-linter-name: false
linters:
enable:
- lll
- govet
- gofmt
- revive
- unconvert
- goconst
- unused
- gosimple
- misspell
- gocyclo
- stylecheck
- govet
- whitespace
- nestif
- goprintffuncname
- godot
- gocognit
- funlen
- dupl
- staticcheck
- syz-linter
- errorlint
disable:
- bodyclose
- depguard
- dogsled
- gochecknoglobals
- gochecknoinits
- godox
- goimports
- gomnd
- gomodguard
- gosec
- rowserrcheck
- testpackage
- typecheck
- ineffassign
# errcheck would be good to enable, but we need to fix existing warnings first.
- errcheck
- unparam
- nakedret
- prealloc
- gocritic
- wsl
linters-settings:
revive:
rules:
- name: package-comments
disabled: true
lll:
line-length: 120
gocyclo:
# TODO: consider reducing this value.
min-complexity: 24
dupl:
threshold: 60
goconst:
min-len: 3
min-occurrences: 3
ignore-tests: true # re-enable once goconst 1.7.0+ merged into golangci-lint
ignore-strings: '\.html|^true$'
nestif:
# TODO: consider reducing this value.
min-complexity: 12
godot:
scope: toplevel
gocognit:
# TODO: consider reducing this value.
min-complexity: 70
funlen:
# TODO: consider reducing these value.
lines: 140
statements: 80
custom:
syz-linter:
path: bin/syz-linter.so
errorlint:
comparison: false # we want to use "err == iterator.Done"
issues:
exclude-use-default: false
exclude-dirs:
- pkg/kd
- tools/syz-trace2syz
max-same-issues: 0
exclude:
- "exported .* should have comment"
- "comment on .* should be of the form"
- "at least one file in a package should have a package comment"
# This check gives false positives related to the standard log.Fatalf
# (which is strange, standard log package should be supported).#
- "SA5011: possible nil pointer dereference"
- "this check suggests that the pointer can be nil"
exclude-rules:
- path: (pkg/csource/generated.go|pkg/build/linux_generated.go)
linters:
- lll
- path: (sys/.*/init.*|sys/targets/common.go)
text: "don't use ALL_CAPS in Go names|should not use ALL_CAPS in Go names"
- path: (prog/.*)
text: "methods on the same type should have the same receiver name"
- path: (dashboard/app/.*_test\.go)
linters:
- dupl
- path: (prog/.*_test\.go)
linters:
- goconst
- path: (.*_test\.go)
text: "Function '.*' is too long"