linters: enable: - bodyclose - deadcode - depguard - dogsled - gocyclo - goimports - golint - gosec - gosimple - govet - ineffassign - interfacer - lll - megacheck - misspell - nakedret - staticcheck - structcheck - typecheck - unconvert - unparam - unused - varcheck disable: - errcheck run: timeout: 5m skip-files: - cli/compose/schema/bindata.go - .*generated.* linters-settings: depguard: list-type: blacklist include-go-root: true packages: # The io/ioutil package has been deprecated. # https://go.dev/doc/go1.16#ioutil - io/ioutil gocyclo: min-complexity: 16 govet: check-shadowing: false lll: line-length: 200 nakedret: command: nakedret pattern: ^(?P.*?\\.go):(?P\\d+)\\s*(?P.*)$ issues: # The default exclusion rules are a bit too permissive, so copying the relevant ones below exclude-use-default: false exclude: - parameter .* always receives exclude-rules: # These are copied from the default exclude rules, except for "ineffective break statement" # and GoDoc checks. # https://github.com/golangci/golangci-lint/blob/0cc87df732aaf1d5ad9ce9ca538d38d916918b36/pkg/config/config.go#L36 - text: "Error return value of .((os\\.)?std(out|err)\\..*|.*Close|.*Flush|os\\.Remove(All)?|.*printf?|os\\.(Un)?Setenv). is not checked" linters: - errcheck - text: "func name will be used as test\\.Test.* by other packages, and that stutters; consider calling this" linters: - golint - text: "G103: Use of unsafe calls should be audited" linters: - gosec - text: "G104: Errors unhandled" linters: - gosec - text: "G204: Subprocess launch(ed with (variable|function call)|ing should be audited)" linters: - gosec - text: "(G301|G302): (Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less)" linters: - gosec - text: "G304: Potential file inclusion via variable" linters: - gosec - text: "(G201|G202): SQL string (formatting|concatenation)" linters: - gosec