run: timeout: 5m tests: true linters: enable: - errcheck - govet - staticcheck - unused - gosimple - ineffassign - typecheck - gofmt - goimports - misspell - unconvert - unparam - gocritic - gosec - copyloopvar - goconst - gocyclo - dupl - funlen - gocognit - lll - nakedret - prealloc - stylecheck - whitespace - wrapcheck - errname - errorlint - exhaustive - godot - err113 - mnd - goprintffuncname - nlreturn - noctx - nolintlint - thelper - tparallel - wastedassign linters-settings: errcheck: check-type-assertions: true check-blank: true gocyclo: min-complexity: 15 funlen: lines: 100 statements: 50 lll: line-length: 120 gocritic: enabled-tags: - diagnostic - experimental - opinionated - performance - style disabled-checks: - dupImport - ifElseChain - octalLiteral - whyNoLint - wrapperFunc gosec: severity: medium confidence: medium godot: scope: declarations exclude: - "^TODO:" - "^FIXME:" goimports: local-prefixes: github.com/0x524a/onvif-go misspell: locale: US issues: exclude-rules: # Exclude some linters from test files - path: _test\.go linters: - errcheck - gosec - funlen - gocyclo - gocognit # Exclude known false positives - text: "Error return value of .((os\\.)?std(out|err)\\..*|.*Close|.*Flush|.*Write|.*Read|.*Printf?|.*Fprintf?) is not checked" linters: - errcheck # Allow long lines in test files - path: _test\.go linters: - lll max-issues-per-linter: 50 max-same-issues: 10 exclude-use-default: false output: print-issued-lines: true print-linter-name: true