linters:
enable:
- gosimple
- deadcode
- typecheck
- govet
- errcheck
- staticcheck
- unused
- structcheck
- varcheck
- golint
- dupl
#- gocyclo # The cyclomatic complexety of a lot of functions is too high, we should refactor those another time.
- gofmt
- misspell
- gocritic
enable-all: false
disable-all: true
fast: false
run:
timeout: 3m
linters-settings:
gocritic:
disabled-checks:
- ifElseChain
- singleCaseSwitch # Every time this occured in the code, there was no other way.
issues:
exclude-rules:
# Exclude some linters from running on tests files.
- path: _test\.go
- gocyclo
- gosec
- unparam
- path: models/migrations/v
- linters:
text: "webhook"
text: "`ID' should not be capitalized"
- path: modules/templates/helper.go
text: "swagger"
- path: contrib/pr/checkout.go
- path: models/issue.go
- path: models/migrations/
- path: modules/log/
- path: routers/routes/macaron.go
- path: routers/api/v1/repo/issue_subscription.go
- path: routers/repo/view.go
text: "argument x is overwritten before first use"
- path: modules/httplib/httplib.go
# Enabling this would require refactoring the methods and how they are called.
- path: models/issue_comment_list.go
text: '`Unknwon` is a misspelling of `Unknown`'
- path: models/update.go
- path: cmd/dump.go
- path: services/webhook/webhook.go
- text: "commentFormatting: put a space between `//` and comment text"
- text: "exitAfterDefer:"