# Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 run: # Timeout for analysis. deadline: 10m # Modules download mode (do not modify go.mod) module-download-mode: readonly # Exclude test files tests: false # 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: - ui # which files to skip: they will be analyzed, but issues from them # won't be reported. Default value is empty list, but there is # no need to include all autogenerated files, we confidently recognize # autogenerated files. If it's not please let us know. skip-files: - ".*\\.generated\\.go$" - ".*bindata_assetfs\\.go$" # output configuration options output: # colored-line-number|line-number|json|tab|checkstyle|code-climate, 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 # all available settings of specific linters linters-settings: errcheck: # report about not checking of errors in type assetions: `a := b.(MyStruct)`; # default is false: such cases aren't reported by default. check-type-assertions: false # [deprecated] comma-separated list of pairs of the form pkg:regex # the regex is used to ignore names within pkg. (default "fmt:.*"). # see https://github.com/kisielk/errcheck#the-deprecated-method for details ignore: fmt:.*,io/ioutil:^Read.* # path to a file containing a list of functions to exclude from checking # see https://github.com/kisielk/errcheck#excluding-functions for details # exclude: /path/to/file.txt govet: # report about shadowed variables check-shadowing: false gofmt: # simplify code: gofmt with `-s` option, true by default simplify: true depguard: # disallow packages from being used list-type: blacklist packages: - github.com/boltdb/bolt - github.com/hashicorp/consul/command/flags - github.com/pkg/errors gocritic: disabled-checks: - commentFormatting - deprecatedComment staticcheck: # I(jrasell) will work on enabling additional checks when possible. checks: ["ST1020", "ST1016"] issues: exclude: - ifElseChain - singleCaseSwitch - assignOp - unlambda linters: disable-all: true enable: - goimports - gocritic - misspell - govet - ineffassign - unconvert - gofmt - gosimple - depguard - staticcheck - asasalint - asciicheck - bidichk - bodyclose - dogsled - durationcheck # - errchkjson (todo) # - errorlint (todo) - exportloopref fast: false