
Running logcheck as part of golangci-lint has several advantages: - faster checking because finding files and parsing is shared with other linters - gets rid of the complex and buggy hack/verify-structured-logging.sh (https://github.com/kubernetes/kubernetes/issues/106746) - support for // nolint:logcheck - works with Go 1.18
47 lines
1.3 KiB
YAML
47 lines
1.3 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 ineffassing linter for generated files for conversion
|
||
- path: conversion\.go
|
||
linters:
|
||
- ineffassign
|
||
|
||
linters:
|
||
disable-all: true
|
||
enable: # please keep this alphabetized
|
||
# Don't use soon to deprecated[1] linters that lead to false
|
||
# https://github.com/golangci/golangci-lint/issues/1841
|
||
# - deadcode
|
||
# - structcheck
|
||
# - varcheck
|
||
- ineffassign
|
||
- logcheck
|
||
- staticcheck
|
||
- 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/klog/hack/tools
|
||
staticcheck:
|
||
go: "1.17"
|
||
checks: [
|
||
"all",
|
||
"-S1*", # TODO(fix) Omit code simplifications for now.
|
||
"-ST1*", # Mostly stylistic, redundant w/ golint
|
||
"-SA5011", # TODO(fix) Possible nil pointer dereference
|
||
"-SA1019", # TODO(fix) Using a deprecated function, variable, constant or field
|
||
"-SA2002" # TODO(fix) Called testing.T.FailNow or SkipNow in a goroutine, which isn’t allowed
|
||
]
|
||
unused:
|
||
go: "1.17"
|