4 Star 3 Fork 0

Gitee 极速下载/submariner

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/rancher/submariner
克隆/下载
.golangci.yml 6.30 KB
一键复制 编辑 原始数据 按行查看 历史
Stephen Kitt 提交于 2025-01-16 23:42 +08:00 . Enable a few new linters
---
linters-settings:
depguard:
rules:
# Importing WireGuard breaks downstream projects, we mustn't use it in exported packages
wireguard:
list-mode: lax
files:
- "**/test/**/*.go"
deny:
- pkg: github.com/submariner-io/submariner/pkg/cable/wireguard
desc: Breaks Windows builds
gocritic:
enabled-tags:
- diagnostic
- opinionated
- performance
- style
disabled-checks:
- ifElseChain
- unnamedResult
gocyclo:
min-complexity: 15
goheader:
template: |-
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
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.
govet:
enable:
- fieldalignment
lll:
line-length: 140
wsl:
# Separating explicit var declarations by blank lines seems excessive.
allow-cuddle-declarations: true
linters:
disable-all: true
enable:
- asasalint
- asciicheck
- bidichk
- bodyclose
# - canonicalheader # This is a slow linter and we don't use the net/http.Header API
- containedctx
- contextcheck
- copyloopvar
# - cyclop # This is equivalent to gocyclo
- decorder
- depguard
- dogsled
- dupl
- dupword
- durationcheck
- errcheck
- errchkjson
- errorlint
- errname
# - execinquery # No SQL
- exhaustive
- exptostd
# - exhaustruct # This is too cumbersome as it requires all string, int, pointer et al fields to be initialized even when the
# type's default suffices, which is most of the time
- fatcontext
# - forbidigo # We don't forbid any statements
# - forcetypeassert # There are many unchecked type assertions that would be the result of a programming error so the
# reasonable recourse would be to panic anyway if checked so this doesn't seem useful
# - funlen # gocyclo is enabled which is generally a better metric than simply LOC.
- gci
- ginkgolinter
- gocheckcompilerdirectives
# - gochecknoglobals # We don't want to forbid global variable constants
# - gochecknoinits # We use init functions for valid reasons
# - gochecksumtype # The usefulness is very narrow:w
- gocognit
- goconst
- gocritic
- gocyclo
- err113
- godot
# - godox # Let's not forbid inline TODOs, FIXMEs et al
- gofmt
- gofumpt
- goheader
- goimports
# - gomoddirectives # We don't want to forbid the 'replace' directive
# - gomodguard # We don't block any modules
# - goprintffuncname # This doesn't seem useful at all
# - gosmopolitan # This is related to internationalization which is not a concern for us
- gosec
- gosimple
- govet
- grouper
- iface
- importas
- inamedparam
- ineffassign
# - interfacebloat # We track complexity elsewhere
- intrange
# - ireturn # The argument to always "Return Concrete Types" doesn't seem compelling. It is perfectly valid to return
# an interface to avoid exposing the entire underlying struct
- lll
- loggercheck
- maintidx
- makezero
- mirror
- misspell
# - mnd # It doesn't seem useful in general to enforce constants for all numeric values
- nakedret
# - nestif # This calculates cognitive complexity but we're doing that elsewhere
- nilerr
- nilnesserr
- nilnil
# - nlreturn # This is reasonable with a block-size of 2 but setting it above isn't honored
# - noctx # We don't send HTTP requests
- nolintlint
- nonamedreturns
# - nosprintfhostport # The use of this is very narrow
# - paralleltest # Not relevant for Ginkgo UTs
- perfsprint
- prealloc
- predeclared
- promlinter
- protogetter
- reassign
- recvcheck
- revive
# - rowserrcheck # We don't use SQL
# - sloglint # We don't use log/slog
# - spancheck # We don't use OpenTelemetry/OpenCensus
# - sqlclosecheck # We don't use SQL
- staticcheck
- stylecheck
- tagalign
# - tagliatelle # Inconsistent with stylecheck and not as good
# - tenv # Not relevant for our Ginkgo UTs
# - testableexamples # We don't need this
# - testifylint # We don't use testify
- testpackage
# - thelper # Not relevant for our Ginkgo UTs
# - tparallel # Not relevant for our Ginkgo UTs
- typecheck
- unconvert
- unparam
- unused
- usestdlibvars
- usetesting
# - varnamelen # It doesn't seem necessary to enforce a minimum variable name length
- wastedassign
- whitespace
- wrapcheck
- wsl
# - zerologlint # We use zerolog indirectly so this isn't needed
issues:
exclude-rules:
# Allow dot-imports for Gomega BDD directives per idiomatic Gomega
- linters:
- revive
- stylecheck
text: "dot imports"
source: "gomega"
# Allow dot-imports for Ginkgo BDD directives per idiomatic Ginkgo
- linters:
- revive
- stylecheck
text: "dot imports"
source: "ginkgo"
# Ignore pointer bytes in struct alignment tests (this is a very
# minor optimisation)
- linters:
- govet
text: "pointer bytes could be"
# Full text of the error is "do not define dynamic errors, use wrapped static errors instead". See
# https://github.com/Djarvur/go-err113/issues/10 for an interesting discussion of this error. While there are cases
# where wrapped sentinel errors are useful, it seems a bit pedantic to force that pattern in all cases.
- linters:
- err113
text: "do not define dynamic errors"
# Ignore certain linters for test files
- path: _test\.go|test/|fake/
linters:
- gochecknoinits
- err113
- wrapcheck
# Ignore contextcheck on main for now
- path: main.go
linters:
- contextcheck
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mirrors/submariner.git
git@gitee.com:mirrors/submariner.git
mirrors
submariner
submariner
devel

搜索帮助