Files
athens/.golangci.yml
Nicholas Wiersma d932d50232 chore: lint code with golangci-lint (#1828)
* feat: add golangci-lint linting

* chore: fix linter issues

* feat: add linting into the workflow

* docs: update lint docs

* fix: cr suggestions

* fix: remove old formatting and vetting scripts

* fix: add docker make target

* fix: action go caching

* fix: depreciated actions checkout version

* fix: cr suggestion

* fix: cr suggestions

---------

Co-authored-by: Manu Gupta <manugupt1@gmail.com>
2023-02-24 20:39:17 -08:00

81 lines
1.9 KiB
YAML

run:
tests: false
timeout: 5m
linters-settings:
cyclop:
max-complexity: 12
skip-tests: true
gofumpt:
extra-rules: true
linters:
enable-all: true
disable:
- interfacer # deprecated
- scopelint # deprecated
- maligned # deprecated
- golint # deprecated
- structcheck # deprecated
- deadcode # deprecated
- varcheck # deprecated
- nosnakecase # deprecated
- ifshort # deprecated
- errchkjson
- exhaustive
- exhaustivestruct
- exhaustruct
- forcetypeassert
- funlen
- gochecknoglobals
- gochecknoinits
- goconst
- godox
- goerr113
- gomnd
- ireturn
- lll
- musttag
- nilnil
- nlreturn
- nonamedreturns
- tagliatelle
- varnamelen
- wrapcheck
- wsl
- cyclop # TODO: turn this back on later
- gocognit # TODO: turn this back on later
- forbidigo # TODO: turn this back on later
issues:
exclude-use-default: false
exclude:
- 'package-comments: should have a package comment'
- 'ST1000: at least one file in a package should have a package comment'
- 'G204: Subprocess launched with a potential tainted input or cmd arguments'
- 'G204: Subprocess launched with variable'
- 'G402: TLS MinVersion too low.'
- 'const `op` is unused'
exclude-rules:
- path: cmd/proxy/main.go
text: 'G108: Profiling endpoint is automatically exposed on /debug/pprof'
- path: pkg/stash/stasher.go
linters:
- contextcheck
- path: pkg/stash/with_azureblob.go # False positive
linters:
- bodyclose
- path: pkg/storage/azureblob/azureblob.go # False positive
linters:
- bodyclose
- path: pkg/storage/compliance/*
linters:
- thelper
- gosec
- errcheck
- path: pkg/index/compliance/*
linters:
- thelper
- gosec
- errcheck