mirror of
https://github.com/grafana/grafana.git
synced 2024-12-22 15:13:38 -06:00
3dbd3a7a81
* Chore: Clean up some excludes and fix makefile (#96052) clean up some excludes and fix makefile * Chore: Enable cache on golangci linter (#95471) * try to enable cache on golangci linter * bump version * exclude G115 * reduce timeout * remove deprecated linter * bump linter version in bingo * try a different syntax for workspace modules * try another command * add apps to linter path * try disabling cue codegen * skip some linting in devenv * exclude dirs and try again * try workaround for pkg * try path instead of dir * make it one line * replace package prefix * exclude xorm * exclude wire * file-based aproach to nolint in workspaces * missing quote * simplify command line * change ownership * upgrade linter * revert bingo readme * revert devenv changes * upgrade golint * use dashes to stay consistent with other workflows * also change name in its own workflow file * rename in codeowners
299 lines
10 KiB
YAML
299 lines
10 KiB
YAML
run:
|
|
timeout: 10m
|
|
concurrency: 10
|
|
allow-parallel-runners: true
|
|
linters-settings:
|
|
exhaustive:
|
|
default-signifies-exhaustive: true
|
|
revive:
|
|
ignore-generated-header: false
|
|
severity: warning
|
|
confidence: 3
|
|
depguard:
|
|
rules:
|
|
main:
|
|
allow: []
|
|
deny:
|
|
- pkg: io/ioutil
|
|
desc: >-
|
|
Deprecated: As of Go 1.16, the same functionality is now provided
|
|
by package io or package os, and those implementations should be
|
|
preferred in new code. See the specific function documentation for
|
|
details.
|
|
- pkg: gopkg.in/yaml.v2
|
|
desc: >-
|
|
Grafana packages are not allowed to depend on gopkg.in/yaml.v2 as
|
|
gopkg.in/yaml.v3 is now available
|
|
- pkg: github.com/pkg/errors
|
|
desc: >-
|
|
Deprecated: Go 1.13 supports the functionality provided by
|
|
pkg/errors in the standard library.
|
|
- pkg: github.com/xorcare/pointer
|
|
desc: >-
|
|
Use pkg/util.Pointer instead, which is a generic one-liner
|
|
alternative
|
|
- pkg: github.com/gofrs/uuid
|
|
desc: 'Use github.com/google/uuid instead, which we already depend on.'
|
|
- pkg: github.com/bmizerany/assert
|
|
desc: >-
|
|
Use github.com/stretchr/testify/assert instead, which we already
|
|
depend on.
|
|
coreplugins:
|
|
deny:
|
|
- pkg: github.com/grafana/grafana/pkg/api
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/cmd
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/cuectx
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/extensions
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/kinds
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/middleware
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/modules
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/registry
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/services
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/build
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/codegen
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/events
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/ifaces
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/kindsysreport
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/mocks
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/plugins
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/setting
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/util
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/bus
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/components
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/expr
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/infra
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/login
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/models
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/server
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/tests
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/web
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
- pkg: github.com/grafana/grafana/pkg/tsdb/intervalv2
|
|
desc: Core plugins are not allowed to depend on Grafana core packages
|
|
files:
|
|
- '**/pkg/tsdb/grafana-pyroscope-datasource/*'
|
|
- '**/pkg/tsdb/grafana-pyroscope-datasource/**/*'
|
|
- '**/pkg/tsdb/grafana-testdata-datasource/*'
|
|
- '**/pkg/tsdb/grafana-testdata-datasource/**/*'
|
|
- '**/pkg/tsdb/azuremonitor/*'
|
|
- '**/pkg/tsdb/azuremonitor/**/*'
|
|
- '**/pkg/tsdb/cloud-monitoring/*'
|
|
- '**/pkg/tsdb/cloud-monitoring/**/*'
|
|
- '**/pkg/tsdb/mysql/*'
|
|
- '**/pkg/tsdb/mysql/**/*'
|
|
- '**/pkg/tsdb/parca/*'
|
|
- '**/pkg/tsdb/parca/**/*'
|
|
- '**/pkg/tsdb/tempo/*'
|
|
- '**/pkg/tsdb/tempo/**/*'
|
|
- '**/pkg/tsdb/cloudwatch/*'
|
|
- '**/pkg/tsdb/cloudwatch/**/*'
|
|
apiserver:
|
|
list-mode: lax
|
|
allow:
|
|
- github.com/grafana/grafana/pkg/apimachinery
|
|
- github.com/grafana/grafana/pkg/apiserver
|
|
deny:
|
|
- pkg: github.com/grafana/grafana/pkg
|
|
desc: apiserver is not allowed to import grafana core
|
|
files:
|
|
- '**/pkg/apiserver/*'
|
|
- '**/pkg/apiserver/**/*'
|
|
apimachinery:
|
|
list-mode: lax
|
|
allow:
|
|
- github.com/grafana/grafana/pkg/apimachinery
|
|
deny:
|
|
- pkg: github.com/grafana/grafana/pkg
|
|
desc: apimachinery is not allowed to import grafana core
|
|
files:
|
|
- '**/pkg/apimachinery/*'
|
|
- '**/pkg/apimachinery/**/*'
|
|
aggregator:
|
|
list-mode: lax
|
|
allow:
|
|
- github.com/grafana/grafana/pkg/aggregator
|
|
- github.com/grafana/grafana/pkg/semconv
|
|
- github.com/grafana/grafana/pkg/apimachinery
|
|
deny:
|
|
- pkg: github.com/grafana/grafana/pkg
|
|
desc: apimachinery is not allowed to import grafana core
|
|
files:
|
|
- ./pkg/aggregator/*
|
|
- ./pkg/aggregator/**/*
|
|
promlib:
|
|
list-mode: lax
|
|
deny:
|
|
- pkg: github.com/grafana/grafana/pkg
|
|
desc: promlib is not allowed to import grafana core
|
|
allow:
|
|
- github.com/grafana/grafana/pkg/promlib
|
|
files:
|
|
- '**/pkg/promlib/**/*'
|
|
storage-unified-resource:
|
|
list-mode: lax
|
|
allow:
|
|
- github.com/grafana/grafana/pkg/apimachinery
|
|
deny:
|
|
- pkg: github.com/grafana/grafana/pkg
|
|
desc: pkg/storage/unified/resource is not allowed to import grafana core
|
|
files:
|
|
- ./pkg/storage/unified/resource/*
|
|
- ./pkg/storage/unified/resource/**/*
|
|
storage-unified-apistore:
|
|
list-mode: lax
|
|
allow:
|
|
- github.com/grafana/grafana/pkg/apimachinery
|
|
- github.com/grafana/grafana/pkg/apiserver
|
|
- github.com/grafana/grafana/pkg/unified/resource
|
|
deny:
|
|
- pkg: github.com/grafana/grafana/pkg
|
|
desc: pkg/storage/unified/apistore is not allowed to import grafana core
|
|
files:
|
|
- ./pkg/storage/unified/apistore/*
|
|
- ./pkg/storage/unified/apistore/**/*
|
|
apps-playlist:
|
|
list-mode: lax
|
|
allow: []
|
|
deny:
|
|
- pkg: github.com/grafana/grafana/pkg
|
|
desc: apps/playlist is not allowed to import grafana core
|
|
files:
|
|
- ./apps/playlist/*
|
|
- ./apps/playlist/**/*
|
|
gocritic:
|
|
enabled-checks:
|
|
- ruleguard
|
|
settings:
|
|
ruleguard:
|
|
rules: pkg/ruleguard.rules.go
|
|
misspell:
|
|
ignore-words:
|
|
- Unknwon
|
|
- Creater
|
|
nakedret:
|
|
max-func-lines: 60
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
- asciicheck
|
|
- bodyclose
|
|
- depguard
|
|
- dogsled
|
|
- errcheck
|
|
- errorlint
|
|
- exhaustive
|
|
- gocyclo
|
|
- goimports
|
|
- goprintffuncname
|
|
- gosec
|
|
- gosimple
|
|
- govet
|
|
- ineffassign
|
|
- misspell
|
|
- nakedret
|
|
- prealloc
|
|
- revive
|
|
- staticcheck
|
|
- stylecheck
|
|
- unconvert
|
|
- unused
|
|
- whitespace
|
|
issues:
|
|
exclude-use-default: false
|
|
max-same-issues: 0
|
|
exclude-dirs:
|
|
- devenv
|
|
- scripts
|
|
exclude-rules:
|
|
- linters:
|
|
- stylecheck
|
|
text: ST1003
|
|
- linters:
|
|
- stylecheck
|
|
text: ST1001
|
|
- linters:
|
|
- staticcheck
|
|
text: 'SA1019: http.CloseNotifier'
|
|
- linters:
|
|
- staticcheck
|
|
text: 'SA1019: strings.Title'
|
|
- linters:
|
|
- staticcheck
|
|
text: 'SA1019: "go.opentelemetry.io/otel/exporters/jaeger"'
|
|
- linters:
|
|
- staticcheck
|
|
text: use fake service and real access control evaluator instead
|
|
- linters:
|
|
- gosec
|
|
text: G108
|
|
- linters:
|
|
- gosec
|
|
text: G110
|
|
- linters:
|
|
- gosec
|
|
text: G115
|
|
- linters:
|
|
- gosec
|
|
text: G201
|
|
- linters:
|
|
- gosec
|
|
text: G202
|
|
- linters:
|
|
- gosec
|
|
text: G306
|
|
- linters:
|
|
- gosec
|
|
text: '401'
|
|
- linters:
|
|
- gosec
|
|
text: '402'
|
|
- linters:
|
|
- gosec
|
|
text: '501'
|
|
- linters:
|
|
- gosec
|
|
text: '404'
|
|
- linters:
|
|
- errorlint
|
|
text: non-wrapping format verb for fmt.Errorf
|
|
- linters:
|
|
- stylecheck
|
|
text: ST1000
|
|
- linters:
|
|
- stylecheck
|
|
text: ST1020
|
|
- linters:
|
|
- stylecheck
|
|
text: ST1021
|
|
- linters:
|
|
- gosec
|
|
path: (.+)_test\.go
|
|
text: G601
|
|
|