-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy path.golangci.yml
More file actions
139 lines (118 loc) · 2.7 KB
/
.golangci.yml
File metadata and controls
139 lines (118 loc) · 2.7 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
129
130
131
132
133
134
135
136
137
138
139
# HyperFleet API - golangci-lint configuration
# Aligned with: https://github.com/openshift-hyperfleet/architecture/blob/main/hyperfleet/standards/golangci.yml
version: "2"
run:
timeout: 5m
tests: true
modules-download-mode: readonly
linters:
enable:
# Code Quality
- errcheck
- govet
- staticcheck
- ineffassign
- unused
- unconvert
- unparam
- goconst
- exhaustive
# Code Style
- misspell
- lll
- revive
- gocritic
# Security
- gosec
settings:
errcheck:
check-type-assertions: true
check-blank: true
govet:
enable-all: true
goconst:
min-len: 3
min-occurrences: 3
misspell:
locale: US
lll:
line-length: 120
revive:
rules:
- name: exported
severity: warning
disabled: true
- name: unexported-return
severity: warning
disabled: false
- name: var-naming
severity: warning
disabled: false
unparam:
check-exported: false
exhaustive:
default-signifies-exhaustive: true
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
rules:
# Relaxed rules for test files
- linters:
- gosec
- errcheck
- unparam
path: _test\.go
# Exclude generated code (backup pattern if exclusion paths don't catch all)
- linters:
- all
path: pkg/api/openapi/
# OVERRIDE: Package naming - underscore packages are structural and renaming is out of scope
- linters:
- revive
path: pkg/db/(db_context|db_metrics|db_session)/
text: "don't use an underscore in package name"
# OVERRIDE: Package naming - allow existing package names
- linters:
- revive
path: pkg/(util|errors)/
text: "avoid meaningless package names"
- linters:
- revive
path: pkg/errors/
text: "avoid package names that conflict with"
- linters:
- revive
path: pkg/api/
text: "avoid meaningless package names"
# Standard exclusion paths
paths:
- pkg/api/openapi # OpenAPI generated code
- data/generated # Other generated files
- third_party(/|$)
- builtin(/|$)
- examples(/|$)
issues:
max-issues-per-linter: 0
max-same-issues: 0
new: false
formatters:
enable:
- gofmt
- goimports
settings:
gofmt:
simplify: true
exclusions:
generated: lax
paths:
- third_party(/|$)
- builtin(/|$)
- examples(/|$)
output:
formats:
text:
path: stdout