-
Notifications
You must be signed in to change notification settings - Fork 0
/
.golangci.yml
137 lines (132 loc) · 2.8 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
127
128
129
130
131
132
133
134
135
136
137
run:
timeout: 5m
linters-settings:
gofmt:
simplify: false
govet:
shadow: true
nolintlint:
allow-unused: false # report any unused nolint directives
require-explanation: true # require an explanation for nolint directives
require-specific: true # require nolint directives to mention the specific linter being suppressed
gocyclo:
min-complexity: 20
goconst:
ignore-tests: true
goheader:
template-path: '.golangci.goheader.template'
values:
regexp:
copyright-year: 20[2-9]\d
lll:
line-length: 120
forbidigo:
forbid:
- '^print.*'
- 'fmt\.Print.*'
exclude_godoc_examples: false
linters:
# please, do not use `enable-all`: it's deprecated and will be removed soon.
# inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint
disable-all: true
enable:
- bodyclose
- dogsled
- durationcheck
- errcheck
- errname
- errorlint
- exhaustive
- exportloopref
- forbidigo
- forcetypeassert
- funlen
- gochecknoinits
- goconst
- gocritic
- gocyclo
- godot
- godox
- gofmt
- gofumpt
- goheader
- goimports
- revive
- gomoddirectives
- gomodguard
- goprintffuncname
- gosec
- gosimple
- govet
- ineffassign
- importas
- lll
- misspell
- makezero
- mnd
- nakedret
- nilerr
- nilnil
- nlreturn
- noctx
- nolintlint
- paralleltest
- predeclared
- rowserrcheck
- staticcheck
- stylecheck
- sqlclosecheck
- tagliatelle
- tenv
- thelper
- tparallel
- typecheck
- unconvert
- unparam
- unused
- wastedassign
- whitespace
- wrapcheck
# deprecated linters:
# - varcheck
# - ifshort
# - exhaustivestruct
# - deadcode
# - structcheck
# don't enable:
# - asciicheck
# - dupl
# - gochecknoglobals
# - gocognit
# - goerr113
# - maligned
# - nestif
# - prealloc
# - testpackage
# - wsl
# - cyclop # not interested in package complexities at the moment
# List of regexps of issue texts to exclude.
issues:
exclude-rules:
- path: _test
linters:
- varnamelen
- testpackage
- nonamedreturns
- funlen # it can be annoying for table-driven tests
- dupl
- goerr113
- maintidx
- path: _integration_test
linters:
- varnamelen
- testpackage
- nonamedreturns
- funlen # it can be annoying for table-driven tests
- dupl
- goerr113
- maintidx
- paralleltest # we don't want to run the integration tests in parallel because we want deterministic results
- path: acceptance_test
linters:
- paralleltest