run:
  deadline: 5m
  skip-files:
    # Skip autogenerated files.
    - ^.*\.(pb|y)\.go$

output:
  sort-results: true

linters:
  enable:
    - depguard
    - gofumpt
    - goimports
    - revive

issues:
  exclude-rules:
    - path: _test.go
      linters:
        - errcheck

linters-settings:
  depguard:
    list-type: blacklist
    include-go-root: true
    packages:
      - sync/atomic
      - github.com/stretchr/testify/assert
    packages-with-error-message:
      - sync/atomic: "Use go.uber.org/atomic instead of sync/atomic"
      - github.com/stretchr/testify/assert: "Use github.com/stretchr/testify/require instead of github.com/stretchr/testify/assert"
      - github.com/go-kit/kit/log: "Use github.com/go-kit/log instead of github.com/go-kit/kit/log"
  errcheck:
    exclude: scripts/errcheck_excludes.txt
  goimports:
    local-prefixes: github.com/prometheus/prometheus
  gofumpt:
    extra-rules: true