-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.golangci.yaml
More file actions
128 lines (109 loc) · 4.21 KB
/
.golangci.yaml
File metadata and controls
128 lines (109 loc) · 4.21 KB
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
# This file contains all available configuration options
# with their default values.
# options for analysis running
run:
# default concurrency is a available CPU number
concurrency: 4
# timeout for analysis, e.g. 30s, 5m, default is 1m
timeout: 5m
# exit code when at least one issue was found, default is 1
issues-exit-code: 1
# include test files or not, default is true
tests: true
# list of build tags, all linters use it. Default is empty list.
build-tags:
- json1
- libdm_no_deferred_remove
- exclude_graphdriver_devicemapper
- exclude_graphdriver_btrfs
- containers_image_openpgp
# by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules":
# If invoked with -mod=readonly, the go command is disallowed from the implicit
# automatic updating of go.mod described above. Instead, it fails when any changes
# to go.mod are needed. This setting is most useful to check that go.mod does
# not need updates, such as in a continuous integration and testing system.
# If invoked with -mod=vendor, the go command assumes that the vendor
# directory holds the correct copies of dependencies and ignores
# the dependency descriptions in go.mod.
modules-download-mode: readonly
# Allow multiple parallel golangci-lint instances running.
# If false (default) - golangci-lint acquires file lock on start.
allow-parallel-runners: false
issues:
# Enables exclude of directories:
# - vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
exclude-dirs-use-default: true
# make issues output unique by line, default is true
uniq-by-line: true
# output configuration options
output:
formats:
# colored-line-number|line-number|json|tab|checkstyle|code-climate|junit-xml|github-actions
# default is "colored-line-number"
- format: colored-line-number
# print lines of code with issue, default is true
print-issued-lines: true
# print linter name in the end of issue text, default is true
print-linter-name: true
# add a prefix to the output file references; default is no prefix
path-prefix: ""
# sorts results by: filepath, line and column
sort-results: false
linters:
disable-all: true
enable:
- errcheck
- gofmt
- goimports
- gosimple
- ineffassign
- misspell
- staticcheck
- typecheck
- unused
- bodyclose # check http response body is closed
- bidichk # check dangerous unicode char sequences
- containedctx # detects structs with context
- contextcheck # check non-inherited context usage
- copyloopvar # check loop vars are copied
- cyclop # cyclomatic complexity
- depguard # checks for disallowed deps
- durationcheck # checks for durations multiplied together
- errchkjson # checks types passed to json encoding functions
- errname # error naming convention
- errorlint # check for error wrapping problems
- exhaustive # check switch-case exhaustiveness
- exptostd # check /x/lib can be replaced by std
- fatcontext # nested contexts
- goconst # check for repeated strings
- gocritic # bugs, performance, and style metalinter
- gosec # inspect security problems
- iface # interface pollution
- intrange # checks for loops could use int range
- ireturn # accept interface, return concrete type
- makezero # slices are not init non-zero length
- mirror # wrong bytes/string usage
- nestif # reports deeply nested ifs
- nilerr # checks return nil when error
- noctx # http requests without context
- nosprintfhostport # check misused of sprintf for host:port
- prealloc # preallocate slices
- recvcheck # check for receiver type consistency
- wrapcheck # wrap errors from external libs
fast: false
linters-settings:
goimports:
# put imports beginning with prefix after 3rd-party packages;
# it's a comma-separated list of prefixes
local-prefixes: github.com/rh-waterford-et/p2code_scheduler_operator
depguard:
rules:
main:
deny:
- pkg: "github.com/pkg/errors"
desc: Should be replaced by stdlib errors package
goconst:
ignore-tests: true
wrapcheck:
ignorePackageGlobs:
- github.com/rh-waterford-et/p2code_scheduler_operator/*