forked from kubernetes-sigs/kueue
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path.golangci.yaml
107 lines (101 loc) · 3.36 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# golangci-lint configuration file
# see: https://golangci-lint.run/usage/configuration/
# Settings of specific linters
linters-settings:
gocritic:
enabled-checks:
- dupImport
- stringsCompare
disabled-checks:
- appendAssign
- exitAfterDefer
goheader:
template: |-
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
# We can't use the template-path option because it requires text without `/*` and `*/` comments.
# We can't remove the comments `/*` and `*/` because the controller-gen requires them.
# template-path: ./hack/boilerplate.go.txt
govet:
enable:
- nilness
gci:
sections:
- standard # Standard section: captures all standard packages.
- default # Default section: contains all imports that could not be matched to another section type.
- prefix(sigs.k8s.io/kueue) # Custom section: groups all imports with the specified Prefix.
- blank # Blank section: contains all blank imports. This section is not present unless explicitly enabled.
- dot # Dot section: contains all dot imports.
skip-generated: true # Skip generated files.
nolintlint:
# Require nolint directives to mention the specific linter being suppressed.
require-specific: true
# Require an explanation after each nolint directive.
require-explanation: true
perfsprint:
int-conversion: false
errorf: true
sprintf1: false
strconcat: false
revive:
enable-all-rules: false
rules:
- name: context-as-argument
- name: empty-lines
- name: increment-decrement
- name: var-naming
- name: redundant-import-alias
# Settings for enabling and disabling linters
linters:
enable:
- copyloopvar
- dupword
- durationcheck
- fatcontext
- gci
- ginkgolinter
- gocritic
- goheader
- govet
- loggercheck
- misspell
- nilerr
- nilnesserr
- nolintlint
- perfsprint
- revive
- unconvert
- makezero
# Settings related to issues
issues:
# Which dirs to exclude: issues from them won't be reported
exclude-dirs:
- bin
- vendor
# Excluding configuration per-path, per-linter, per-text and per-source
exclude-rules:
- linters:
- staticcheck
# TODO(#768): Drop when incrementing the API version.
text: "SA1019: constants.QueueAnnotation is deprecated"
- linters:
- staticcheck
text: "SA1019: j.Status.State is deprecated: the State field is replaced by the Conditions field."
- linters:
- staticcheck
text: "SA1019: j.Status.RayClusterStatus.State is deprecated: the State field is replaced by the Conditions field."
- linters:
- fatcontext
path: "^test/*"
# Show all issues from a linter
max-issues-per-linter: 0
# Show all issues with the same text
max-same-issues: 0