Skip to content
This repository was archived by the owner on Jun 5, 2021. It is now read-only.

Commit d6e419c

Browse files
committed
ci: add golangci config
1 parent 86fedbd commit d6e419c

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

.golangci.yml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
linters-settings:
2+
govet:
3+
check-shadowing: true
4+
golint:
5+
min-confidence: 0
6+
gocyclo:
7+
min-complexity: 10
8+
maligned:
9+
suggest-new: true
10+
dupl:
11+
threshold: 100
12+
goconst:
13+
min-len: 2
14+
min-occurrences: 2
15+
depguard:
16+
list-type: blacklist
17+
packages:
18+
# logging is allowed only by logutils.Log, logrus
19+
# is allowed to use only in logutils package
20+
- github.com/sirupsen/logrus
21+
misspell:
22+
locale: US
23+
lll:
24+
line-length: 140
25+
goimports:
26+
local-prefixes: github.com/golangci/golangci-lint
27+
gocritic:
28+
enabled-tags:
29+
- performance
30+
- style
31+
- experimental
32+
disabled-checks:
33+
- wrapperFunc
34+
- commentFormatting # https://github.com/go-critic/go-critic/issues/755
35+
36+
issues:
37+
exclude-rules:
38+
# Exclude some linters from running on tests files.
39+
- path: _test\.go
40+
linters:
41+
- gocyclo
42+
- errcheck
43+
- dupl
44+
- gosec
45+
46+
# Ease some gocritic warnings on test files.
47+
- path: _test\.go
48+
text: "(unnamedResult|exitAfterDefer)"
49+
linters:
50+
- gocritic
51+
52+
# Exclude known linters from partially hard-vendored code,
53+
# which is impossible to exclude via "nolint" comments.
54+
- path: internal/hmac/
55+
text: "weak cryptographic primitive"
56+
linters:
57+
- gosec
58+
- path: internal/hmac/
59+
text: "Write\\` is not checked"
60+
linters:
61+
- errcheck
62+
63+
# Ease linting on benchmarking code.
64+
- path: cmd/stun-bench/
65+
linters:
66+
- gosec
67+
- errcheck
68+
enable-all: true
69+
disable:
70+
- prealloc
71+
- gochecknoglobals
72+
73+
run:
74+
skip-dirs:
75+
- e2e
76+
- fuzz
77+
- testdata
78+
- api
79+
80+
# golangci.com configuration
81+
# https://github.com/golangci/golangci/wiki/Configuration
82+
service:
83+
golangci-lint-version: 1.13.x # use fixed version to not introduce new linters unexpectedly
84+
prepare:
85+
- echo "here I can run custom commands, but no preparation needed"

0 commit comments

Comments
 (0)