1
0
mirror of https://codeberg.org/crowci/crow.git synced 2025-04-18 04:44:01 +03:00
crow/.golangci.yaml
2025-03-30 22:16:56 +02:00

202 lines
5.2 KiB
YAML

version: '2'
run:
build-tags:
- test
linters:
default: none
enable:
- asciicheck
- bidichk
- bodyclose
- contextcheck
- depguard
- dogsled
- durationcheck
- errcheck
- errchkjson
- errorlint
- forbidigo
- forcetypeassert
- gochecknoinits
- gocritic
- godot
- goheader
- gomoddirectives
- gomodguard
- goprintffuncname
- govet
- importas
- ineffassign
- makezero
- misspell
- mnd
- nolintlint
- revive
- rowserrcheck
- sqlclosecheck
- staticcheck
- unconvert
- unparam
- unused
- usetesting
- wastedassign
- whitespace
- zerologlint
settings:
depguard:
rules:
agent:
list-mode: lax
files:
- '**/agent/**/*.go'
- '**/agent/*.go'
- '**/cmd/agent/**/*.go'
- '**/cmd/agent/*.go'
deny:
- pkg: codeberg.org/crowci/crow/v3/cli
- pkg: codeberg.org/crowci/crow/v3/cmd/cli
- pkg: codeberg.org/crowci/crow/v3/cmd/server
- pkg: codeberg.org/crowci/crow/v3/server
- pkg: codeberg.org/crowci/crow/v3/web
- pkg: codeberg.org/crowci/crow/v3/crow-go/crow
cli:
list-mode: lax
files:
- '**/cli/**/*.go'
- '**/cli/*.go'
- '**/cmd/cli/**/*.go'
- '**/cmd/cli/*.go'
deny:
- pkg: codeberg.org/crowci/crow/v3/agent
- pkg: codeberg.org/crowci/crow/v3/server
- pkg: codeberg.org/crowci/crow/v3/cmd/agent
- pkg: codeberg.org/crowci/crow/v3/cmd/server
- pkg: codeberg.org/crowci/crow/v3/web
crow-go:
list-mode: lax
files:
- '**/crow-go/crow/**/*.go'
- '**/crow-go/crow/*.go'
deny:
- pkg: codeberg.org/crowci/crow/v3/agent
- pkg: codeberg.org/crowci/crow/v3/cli
- pkg: codeberg.org/crowci/crow/v3/cmd
- pkg: codeberg.org/crowci/crow/v3/pipeline
- pkg: codeberg.org/crowci/crow/v3/server
- pkg: codeberg.org/crowci/crow/v3/shared
- pkg: codeberg.org/crowci/crow/v3/web
pipeline:
list-mode: lax
files:
- '**/pipeline/**/*.go'
- '**/pipeline/*.go'
- '!**/cli/pipeline/*.go'
- '!**/cli/pipeline/**/*.go'
- '!**/server/pipeline/*.go'
- '!**/server/pipeline/**/*.go'
deny:
- pkg: codeberg.org/crowci/crow/v3/agent
- pkg: codeberg.org/crowci/crow/v3/cli
- pkg: codeberg.org/crowci/crow/v3/cmd
- pkg: codeberg.org/crowci/crow/v3/server
- pkg: codeberg.org/crowci/crow/v3/web
server:
list-mode: lax
files:
- '**/server/**/*.go'
- '**/server/*.go'
- '**/cmd/server/**/*.go'
- '**/cmd/server/*.go'
- '**/web/**/*.go'
- '**/web/*.go'
deny:
- pkg: codeberg.org/crowci/crow/v3/agent
- pkg: codeberg.org/crowci/crow/v3/cli
- pkg: codeberg.org/crowci/crow/v3/cmd/agent
- pkg: codeberg.org/crowci/crow/v3/cmd/cli
- pkg: codeberg.org/crowci/crow/v3/crow-go/crow
shared:
list-mode: lax
files:
- '**/shared/**/*.go'
- '**/shared/*.go'
- '!**/pipeline/shared/*.go'
- '!**/pipeline/shared/**/*.go'
deny:
- pkg: codeberg.org/crowci/crow/v3/agent
- pkg: codeberg.org/crowci/crow/v3/cli
- pkg: codeberg.org/crowci/crow/v3/cmd
- pkg: codeberg.org/crowci/crow/v3/pipeline
- pkg: codeberg.org/crowci/crow/v3/server
- pkg: codeberg.org/crowci/crow/v3/web
errorlint:
errorf-multi: true
forbidigo:
forbid:
- pattern: context\.WithCancel$
- pattern: ^print.*$
- pattern: panic
- pattern: ^log.Fatal().*$
godot:
scope: toplevel
exclude:
- '^\s*cSpell:'
- '^\s*TODO:'
capital: true
period: true
misspell:
locale: US
mnd:
ignored-numbers:
- '0o600'
- '0o660'
- '0o644'
- '0o755'
- '0o700'
ignored-functions:
- make
- time.*
- strings.Split
- callerName
- securecookie.GenerateRandomKey
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
rules:
- linters:
- mnd
path: fixtures|cmd/agent/flags.go|cmd/server/flags.go|pipeline/backend/kubernetes/flags.go|_test.go
paths:
- third_party$
- builtin$
- examples$
formatters:
enable:
- gci
- gofmt
- gofumpt
settings:
gci:
sections:
- standard
- default
- prefix(codeberg.org/crowci/crow)
custom-order: true
gofmt:
simplify: true
rewrite-rules:
- pattern: interface{}
replacement: any
gofumpt:
extra-rules: false
exclusions:
generated: lax
paths:
- third_party$
- builtin$
- examples$