-
Notifications
You must be signed in to change notification settings - Fork 243
/
.golangci.yaml
92 lines (88 loc) · 3.9 KB
/
.golangci.yaml
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
# Refer to golangci-lint's example config file for more options and information:
# https://github.com/golangci/golangci-lint/blob/master/.golangci.example.yml
run:
# Timeout for analysis, e.g. 30s, 5m.
# Default: 1m
timeout: 5m
# 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.
#
# Allowed values: readonly|vendor|mod
# By default, it isn't set.
modules-download-mode: vendor
skip-dirs:
- pkg/apiserver-gen
linters:
# Note that some linters not listed below are enabled by default.
# See https://golangci-lint.run/usage/linters/#enabled-by-default
enable:
# Go linter that checks if package imports are in a list of acceptable packages
- depguard
# check whether code was gofmt-ed. By default, this tool runs with -s option to check for code simplification
- gofmt
# analyze code for common mistakes
- govet
# Fast, configurable, extensible, flexible, and beautiful linter for Go.
# Drop-in replacement of golint, which has been deprecated
- revive
linters-settings:
depguard:
# A list of packages for the list type specified. Default list type is 'denylist'
# Default: []
packages:
- github.com/pkg/errors
# A list of packages for the list type specified.
# Specify an error message to output when a denied package is used.
# Default: []
packages-with-error-message:
- github.com/pkg/errors: >
This package is deprecated since Go 1.13. Use the errors package from the standard library instead.
See https://github.com/redhat-developer/odo/pull/5557 for some examples.
govet:
# Report about shadowed variables.
# Default: false
check-shadowing: true
revive:
# Maximum number of open files at the same time.
# See https://github.com/mgechev/revive#command-line-flags
# Defaults to unlimited.
max-open-files: 2048
# When set to false, ignores files with "GENERATED" header, similar to golint.
# See https://github.com/mgechev/revive#available-rules for details.
# Default: false
ignore-generated-header: true
# Sets the default severity.
# See https://github.com/mgechev/revive#configuration
# Default: warning
severity: error
# Explicitly list all rules enabled. We can enable all existing rules by setting 'enable-all-rules' to true.
# See https://github.com/mgechev/revive#available-rules for the available rules.
rules:
# Conventions around error strings. See https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-strings
- name: error-strings
issues:
# Maximum issues count per one linter.
# Set to 0 to disable.
# Default: 50
max-issues-per-linter: 0
# Maximum count of issues with the same text.
# Set to 0 to disable.
# Default: 3
max-same-issues: 0
exclude-rules:
- linters:
- staticcheck
# Workaround to exclude some 'staticcheck' messages, because line-based directive does not seem to work with golangci-lint
# See https://github.com/golangci/golangci-lint/issues/741#issuecomment-1017014331
text: "SA1019: segment.DisableTelemetryEnv is deprecated"
- linters:
- staticcheck
# Workaround to exclude some 'staticcheck' messages, because line-based directive does not seem to work with golangci-lint
# See https://github.com/golangci/golangci-lint/issues/741#issuecomment-1017014331
text: 'SA1019: allComponents\[i\].RunningOn is deprecated'