run: concurrency: 2 timeout: 10m linters: enable-all: false disable-all: true enable: - depguard - errcheck - errorlint - gocritic - gocyclo - gofmt - goimports - gomodguard - revive - gosimple - govet - ineffassign - lll - misspell - nakedret - nolintlint - staticcheck - typecheck - unconvert - unparam - unused linters-settings: revive: rules: - name: package-comments disabled: true depguard: rules: all: deny: - pkg: io/ioutil desc: 'io/ioutil package has been deprecated' - pkg: gopkg.in/yaml.v2 desc: 'compose-go uses yaml.v3' gomodguard: blocked: modules: - github.com/pkg/errors: recommendations: - errors - fmt versions: - github.com/distribution/distribution: reason: "use distribution/reference" - gotest.tools: version: "< 3.0.0" reason: "deprecated, pre-modules version" gocritic: # Enable multiple checks by tags, run `GL_DEBUG=gocritic golangci-lint run` to see all tags and checks. # Empty list by default. See https://github.com/go-critic/go-critic#usage -> section "Tags". enabled-tags: - diagnostic - opinionated - style disabled-checks: - paramTypeCombine - unnamedResult - whyNoLint gocyclo: min-complexity: 16 lll: line-length: 200 issues: # golangci hides some golint warnings (the warning about exported things # without documentation for example), this will make it show them anyway. exclude-use-default: false