linters-settings:
  maligned:
    suggest-new: true
  misspell:
    locale: US

issues:
  exclude-rules:
    - path: cmd/
      text: buildInfo is a global variable
      linters:
        - gochecknoglobals
    - path: cmd/
      text: commit is a global variable
      linters:
        - gochecknoglobals
    - path: cmd/
      text: buildDate is a global variable
      linters:
        - gochecknoglobals
    - path: cmd/updater/main.go
      text: "mnd: Magic number: 4, in <argument> detected"
      linters:
        - gomnd
    - path: cmd/updater/main.go
      text: "mnd: Magic number: 2, in <argument> detected"
      linters:
        - gomnd
    - path: internal/regex/regex.go
      text: "regexpMust: for const patterns like "
      linters:
        - gocritic
    - path: internal/settings/
      linters:
        - maligned
        - dupl
    - path: pkg/publicip/.*_test.go
      linters:
        - dupl

linters:
  disable-all: true
  enable:
    - asciicheck
    - bodyclose
    - deadcode
    - dogsled
    - dupl
    - errcheck
    - exhaustive
    - exportloopref
    - gci
    - gochecknoglobals
    - gochecknoinits
    - gocognit
    - goconst
    - gocritic
    - gocyclo
    - godot
    - goheader
    - goimports
    - golint
    - gomnd
    - goprintffuncname
    - gosec
    - gosimple
    - govet
    - ineffassign
    - interfacer
    - lll
    - maligned
    - misspell
    - nakedret
    - nestif
    - noctx
    - nolintlint
    - prealloc
    - rowserrcheck
    - scopelint
    - sqlclosecheck
    - staticcheck
    - structcheck
    - typecheck
    - unconvert
    - unparam
    - unused
    - varcheck
    - whitespace

run:
  skip-dirs:
    - .devcontainer
    - .github
