open-nomad/.golangci.yml

108 lines
2.9 KiB
YAML

# 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