-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
.golangci.yml
103 lines (97 loc) · 2.68 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
run:
build-tags:
- integration
timeout: 10m
linters:
enable:
- dogsled
- dupl
- gocritic
- godot
- gofmt
- goimports
- gosec
- misspell
- nakedret
- perfsprint
- paralleltest
- revive
- stylecheck
- tparallel
- unconvert
- unparam
- whitespace
linters-settings:
gocritic:
disable-all: true
enabled-checks:
- commentFormatting
gosec:
excludes:
# duplicates errcheck
- G104
# int(os.Stdin.Fd())
- G115
perfsprint:
errorf: true
strconcat: false
revive:
rules:
- name: blank-imports
- name: bool-literal-in-expr
- name: context-as-argument
- name: context-keys-type
- name: dot-imports
- name: early-return
- name: empty-block
- name: error-naming
- name: error-return
- name: error-strings
- name: errorf
- name: filename-format
arguments:
- "^[_a-z][_a-z0-9]*.go$"
- name: increment-decrement
- name: indent-error-flow
- name: package-comments
- name: range
- name: receiver-naming
- name: redefines-builtin-id
- name: superfluous-else
- name: time-equal
- name: time-naming
- name: unexported-naming
- name: unexported-return
- name: unreachable-code
- name: var-declaration
- name: var-naming
issues:
exclude-use-default: false
exclude-rules:
- linters:
- dupl
- unparam
- gosec
- dogsled
path: _test\.go
# We need to pass nil Context in order to test DoBare erroring on nil ctx.
- linters: [ staticcheck ]
text: 'SA1012: do not pass a nil Context'
path: _test\.go
# We need to use sha1 for validating signatures
- linters: [ gosec ]
text: 'G505: Blocklisted import crypto/sha1: weak cryptographic primitive'
# This is adapted from golangci-lint's default exclusions. It disables linting for error checks on
# os.RemoveAll, fmt.Fprint*, fmt.Scanf, and any function ending in "Close".
- linters: [ errcheck ]
text: Error return value of .(.*Close|fmt\.Fprint.*|fmt\.Scanf|os\.Remove(All)?). is not checked
# We don't care about file inclusion via variable in examples or internal tools.
- linters: [ gosec ]
text: 'G304: Potential file inclusion via variable'
path: '^(example|tools)\/'
# We don't run parallel integration tests
- linters: [ paralleltest, tparallel ]
path: '^test/integration'
# Because fmt.Sprint(reset.Unix())) is more readable than strconv.FormatInt(reset.Unix(), 10).
- linters: [ perfsprint]
text: 'fmt.Sprint.* can be replaced with faster strconv.FormatInt'