126 lines
4.0 KiB
YAML
126 lines
4.0 KiB
YAML
# options for analysis running
|
|
run:
|
|
# default concurrency is a available CPU number
|
|
concurrency: 8
|
|
|
|
# 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
|
|
|
|
# default is true. Enables skipping of directories:
|
|
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
|
|
skip-dirs-use-default: true
|
|
|
|
# which dirs to skip: they won't be analyzed;
|
|
# can use regexp here: generated.*, regexp is applied on full path;
|
|
# default value is empty list, but next dirs are always skipped independently
|
|
# from this option's value:
|
|
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
|
|
# skip-dirs:
|
|
# - ^test.*
|
|
|
|
# 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
|
|
|
|
# which files to skip: they will be analyzed, but issues from them
|
|
# won't be reported. Default value is empty list, but there is
|
|
# no need to include all autogenerated files, we confidently recognize
|
|
# autogenerated files. If it's not please let us know.
|
|
skip-files:
|
|
# - ".*\\.my\\.go$"
|
|
# - lib/bad.go
|
|
|
|
# all available settings of specific linters
|
|
linters-settings:
|
|
gocyclo:
|
|
# minimal code complexity to report, 30 by default (but we recommend 10-20)
|
|
min-complexity: 35
|
|
|
|
govet:
|
|
enable:
|
|
- nilness
|
|
goimports:
|
|
local-prefixes: github.com/cilium/cilium
|
|
unused:
|
|
go: "1.23"
|
|
goheader:
|
|
values:
|
|
regexp:
|
|
PROJECT: 'K9s'
|
|
template: |-
|
|
SPDX-License-Identifier: Apache-2.0
|
|
Copyright Authors of {{ PROJECT }}
|
|
gosec:
|
|
includes:
|
|
- G402
|
|
gomodguard:
|
|
blocked:
|
|
modules:
|
|
- github.com/miekg/dns:
|
|
recommendations:
|
|
- github.com/cilium/dns
|
|
reason: "use the cilium fork directly to avoid replace directives in go.mod, see https://github.com/cilium/cilium/pull/27582"
|
|
- gopkg.in/check.v1:
|
|
recommendations:
|
|
- testing
|
|
- github.com/stretchr/testify/assert
|
|
reason: "gocheck has been deprecated, see https://docs.cilium.io/en/latest/contributing/testing/unit/#migrating-tests-off-of-gopkg-in-check-v1"
|
|
- go.uber.org/multierr:
|
|
recommendations:
|
|
- errors
|
|
reason: "Go 1.20+ has support for combining multiple errors, see https://go.dev/doc/go1.20#errors"
|
|
|
|
issues:
|
|
# Excluding configuration per-path, per-linter, per-text and per-source
|
|
exclude-rules:
|
|
- linters: [staticcheck]
|
|
text: "SA1019" # this is rule for deprecated method
|
|
- linters: [staticcheck]
|
|
text: "SA9003: empty branch"
|
|
- linters: [staticcheck]
|
|
text: "SA2001: empty critical section"
|
|
- linters: [err113]
|
|
text: "do not define dynamic errors, use wrapped static errors instead" # This rule to avoid opinionated check fmt.Errorf("text")
|
|
# Skip goimports check on generated files
|
|
- path: \\.(generated\\.deepcopy|pb)\\.go$
|
|
linters:
|
|
- goimports
|
|
# Skip goheader check on files imported and modified from upstream k8s
|
|
- path: "pkg/ipam/(cidrset|service)/.+\\.go"
|
|
linters:
|
|
- goheader
|
|
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
- err113
|
|
- gofmt
|
|
- goimports
|
|
- govet
|
|
- ineffassign
|
|
- misspell
|
|
- unused
|
|
- goheader
|
|
- gosec
|
|
- gomodguard
|
|
- gosimple
|
|
- errcheck
|
|
- gocyclo
|
|
- gosec
|
|
- gosimple
|
|
- misspell
|
|
- prealloc
|
|
- typecheck
|