
Client-side extract calls depend on `managedFields`, which might not be available. Therefore they should not be used in production code. They are okay in test files (because the API has to be tested), in the generated code (because the various type specific APIs still need to be provided) and in unstructured.go (same reason).
76 lines
3.2 KiB
YAML
76 lines
3.2 KiB
YAML
run:
|
||
timeout: 30m
|
||
skip-files:
|
||
- "^zz_generated.*"
|
||
|
||
issues:
|
||
max-same-issues: 0
|
||
# Excluding configuration per-path, per-linter, per-text and per-source
|
||
exclude-rules:
|
||
# exclude ineffassign linter for generated files for conversion
|
||
- path: conversion\.go
|
||
linters:
|
||
- ineffassign
|
||
# TODO(oscr) Remove these excluded directories and fix findings. Due to large amount of findings in different components
|
||
# with different owners it's hard to fix everything in a single pr. This will therefore be done in multiple prs.
|
||
- path: (pkg/volume/*|test/*|azure/*|pkg/cmd/wait*|request/bearertoken/*|metrics/*|filters/*) # not in golangci-strict.yaml
|
||
linters: # not in golangci-strict.yaml
|
||
- gocritic # not in golangci-strict.yaml
|
||
# The Kubernetes naming convention for conversion functions uses underscores
|
||
# and intentionally deviates from normal Go conventions to make those function
|
||
# names more readable. Same for SetDefaults_*.
|
||
- linters:
|
||
- stylecheck
|
||
text: "ST1003: should not use underscores in Go names; func (Convert_.*_To_.*|SetDefaults_)"
|
||
# This check currently has some false positives (https://github.com/nunnatsa/ginkgolinter/issues/91).
|
||
- linters:
|
||
- ginkgolinter
|
||
text: use a function call in (Eventually|Consistently)
|
||
# SSA Extract calls are allowed in tests.
|
||
- linters:
|
||
- forbidigo
|
||
text: should not be used because managedFields was removed
|
||
path: _test.go$
|
||
|
||
linters:
|
||
disable-all: true # not disabled in golangci-strict.yaml
|
||
enable: # please keep this alphabetized and in sync with golangci-strict.yaml
|
||
- forbidigo
|
||
- ginkgolinter
|
||
- gocritic
|
||
- govet
|
||
- ineffassign
|
||
- logcheck
|
||
- staticcheck
|
||
- stylecheck
|
||
- unused
|
||
|
||
linters-settings: # please keep this alphabetized
|
||
custom:
|
||
logcheck:
|
||
# Installed there by hack/verify-golangci-lint.sh.
|
||
path: ../_output/local/bin/logcheck.so
|
||
description: structured logging checker
|
||
original-url: k8s.io/logtools/logcheck
|
||
forbidigo:
|
||
analyze-types: true
|
||
forbid:
|
||
- p: ^managedfields\.ExtractInto$
|
||
pkg: ^k8s\.io/apimachinery/pkg/util/managedfields$
|
||
msg: should not be used because managedFields was removed
|
||
- p: \.Extract
|
||
pkg: ^k8s\.io/client-go/applyconfigurations/
|
||
msg: should not be used because managedFields was removed
|
||
gocritic:
|
||
enabled-checks: # not limited in golangci-strict.yaml
|
||
- equalFold # not limited in golangci-strict.yaml
|
||
- boolExprSimplify # not limited in golangci-strict.yaml
|
||
staticcheck:
|
||
checks:
|
||
- "all"
|
||
- "-SA1019" # TODO(fix) Using a deprecated function, variable, constant or field - enabled in golangci-strict.yaml
|
||
- "-SA2002" # TODO(fix) Called testing.T.FailNow or SkipNow in a goroutine, which isn’t allowed - enabled in golangci-strict.yaml
|
||
stylecheck:
|
||
checks: # golangci-strict.yaml uses the default checks.
|
||
- "ST1019" # Importing the same package multiple times - enabled in golangci-strict.yaml.
|