# This file contains all available configuration options
# with their default values.

# options for analysis running
run:
  # timeout for analysis, e.g. 30s, 5m, default is 1m
  deadline: 5m

  # exit code when at least one issue was found, default is 1
  issues-exit-code: 1

  # which dirs to skip: they won't be analyzed;
  # can use regexp here: generated.*, regexp is applied on full path;
  # default value is empty list, but next dirs are always skipped independently
  # from this option's value:
  #     vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
  skip-dirs: vendor

# output configuration options
output:
  # colored-line-number|line-number|json|tab|checkstyle, default is "colored-line-number"
  format: colored-line-number

  # print lines of code with issue, default is true
  print-issued-lines: true

  # print linter name in the end of issue text, default is true
  print-linter-name: true

linters:
  enable:
    # Sorted alphabetically.
    - deadcode
    - errcheck
    - goconst
    - godot
    - gofmt
    - goimports
    - gosimple
    - govet
    - ineffassign
    - misspell
    - staticcheck
    - structcheck
    - typecheck
    - unparam
    - unused
    - varcheck
    - exportloopref

linters-settings:
  errcheck:
    exclude: ./.errcheck_excludes.txt
  misspell:
    locale: US
  goconst:
    min-occurrences: 5

issues:
  exclude-rules:
    # These are not being checked since these methods exist
    # so that no one else could implement them.
    - linters:
        - unused
      text: "SourceStoreAPI.implementsStoreAPI"
    - linters:
        - unused
      text: "SourceStoreAPI.producesBlocks"
    - linters:
        - unused
      text: "Source.producesBlocks"
    - linters:
        - unused
      text: "newMockAlertmanager"
    - linters:
        - unused
      text: "ruleAndAssert"
