linters-settings: gofmt: simplify: true rewrite-rules: - pattern: interface{} replacement: any misspell: locale: US gofumpt: extra-rules: true forbidigo: forbid: - context\.WithCancel$ - ^print.*$ - panic - ^log.Fatal().*$ errorlint: errorf-multi: true depguard: rules: pipeline: list-mode: lax files: - '**/pipeline/**/*.go' - '**/pipeline/*.go' - '!**/cli/pipeline/*.go' - '!**/cli/pipeline/**/*.go' - '!**/server/pipeline/*.go' - '!**/server/pipeline/**/*.go' deny: - pkg: 'go.woodpecker-ci.org/woodpecker/v2/agent' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cli' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cmd' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/server' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/web' shared: list-mode: lax files: - '**/shared/**/*.go' - '**/shared/*.go' - '!**/pipeline/shared/*.go' - '!**/pipeline/shared/**/*.go' deny: - pkg: 'go.woodpecker-ci.org/woodpecker/v2/agent' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cli' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cmd' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/pipeline' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/server' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/web' woodpecker-go: list-mode: lax files: - '**/woodpecker-go/woodpecker/**/*.go' - '**/woodpecker-go/woodpecker/*.go' deny: - pkg: 'go.woodpecker-ci.org/woodpecker/v2/agent' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cli' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cmd' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/pipeline' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/server' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/shared' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/web' agent: list-mode: lax files: - '**/agent/**/*.go' - '**/agent/*.go' - '**/cmd/agent/**/*.go' - '**/cmd/agent/*.go' deny: - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cli' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cmd/cli' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cmd/server' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/server' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/web' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/woodpecker-go/woodpecker' cli: list-mode: lax files: - '**/cli/**/*.go' - '**/cli/*.go' - '**/cmd/cli/**/*.go' - '**/cmd/cli/*.go' deny: - pkg: 'go.woodpecker-ci.org/woodpecker/v2/agent' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/server' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cmd/agent' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cmd/server' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/web' server: list-mode: lax files: - '**/server/**/*.go' - '**/server/*.go' - '**/cmd/server/**/*.go' - '**/cmd/server/*.go' - '**/web/**/*.go' - '**/web/*.go' deny: - pkg: 'go.woodpecker-ci.org/woodpecker/v2/agent' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cli' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cmd/agent' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/cmd/cli' - pkg: 'go.woodpecker-ci.org/woodpecker/v2/woodpecker-go/woodpecker' linters: disable-all: true enable: - bidichk - errcheck - gofmt - goimports - gosimple - govet - ineffassign - misspell - revive - staticcheck - typecheck - unused - whitespace - gofumpt - errorlint - forbidigo - zerologlint - depguard run: timeout: 15m issues: exclude-rules: # gin force us to use string as context key - path: server/store/context.go linters: - staticcheck - revive # let cli use print and panic and log.Fatal() - path: 'cmd/*|cli/*' linters: - forbidigo # allow some setup functions to use log.Fatal() - path: 'server/web/web.go|server/plugins/encryption/tink_keyset_watcher.go|shared/logger/logger.go' linters: - forbidigo