mirror of
https://github.com/go-gitea/gitea.git
synced 2026-08-21 16:50:49 +00:00
6904f6480c
Better than before, still not good enough (more work can be done in the future) And add the missing error handling in the PrivateContext "bind" middleware. By the way, picked some "TrimSpace" changes from "fix: trim whitespace from SMTP address and port - #38934" (fix #38926)
196 lines
4.9 KiB
YAML
196 lines
4.9 KiB
YAML
version: "2"
|
|
output:
|
|
sort-order:
|
|
- file
|
|
linters:
|
|
default: none
|
|
enable:
|
|
- bidichk
|
|
- bodyclose
|
|
- depguard
|
|
- dupl
|
|
- errcheck
|
|
- forbidigo
|
|
- forcetypeassert
|
|
- gocheckcompilerdirectives
|
|
- gocritic
|
|
- govet
|
|
- ineffassign
|
|
- mirror
|
|
- modernize
|
|
- nakedret
|
|
- nilnil
|
|
- nolintlint
|
|
- perfsprint
|
|
- revive
|
|
- staticcheck
|
|
- testifylint
|
|
- unconvert
|
|
- unparam
|
|
- unused
|
|
- usestdlibvars
|
|
- usetesting
|
|
- wastedassign
|
|
settings:
|
|
depguard:
|
|
rules:
|
|
main:
|
|
deny:
|
|
- pkg: encoding/json
|
|
desc: use gitea's modules/json instead of encoding/json
|
|
- pkg: github.com/unknwon/com
|
|
desc: use gitea's util and replacements
|
|
- pkg: io/ioutil
|
|
desc: use os or io instead
|
|
- pkg: golang.org/x/exp
|
|
desc: it's experimental and unreliable
|
|
- pkg: gitea.dev/modules/git/internal
|
|
desc: do not use the internal package, use AddXxx function instead
|
|
- pkg: gopkg.in/ini.v1
|
|
desc: do not use the ini package, use gitea's config system instead
|
|
- pkg: gitea.com/go-chi/cache
|
|
desc: do not use the go-chi cache package, use gitea's cache system
|
|
- pkg: github.com/pkg/errors
|
|
desc: use builtin errors package instead
|
|
- pkg: gitea.com/go-chi/binding
|
|
desc: use our wrapper
|
|
migrations:
|
|
files:
|
|
- '**/modelmigration/**/*.go'
|
|
deny:
|
|
- pkg: gitea.dev/models
|
|
desc: "migrations must not depend on the models package. HINT: MIGRATION-STRUCT-FROZEN"
|
|
- pkg: gitea.dev/modules/structs
|
|
desc: "migrations must not depend on modules/structs. HINT: MIGRATION-STRUCT-FROZEN"
|
|
nolintlint:
|
|
allow-unused: false
|
|
require-explanation: true
|
|
require-specific: true
|
|
gocritic:
|
|
enabled-checks:
|
|
- equalFold
|
|
disabled-checks:
|
|
- ifElseChain
|
|
- singleCaseSwitch # Every time this occurred in the code, there was no other way.
|
|
- deprecatedComment # conflicts with go-swagger comments
|
|
revive:
|
|
severity: error
|
|
rules:
|
|
- name: blank-imports
|
|
- name: constant-logical-expr
|
|
- name: context-as-argument
|
|
- name: context-keys-type
|
|
- name: dot-imports
|
|
- name: empty-lines
|
|
- name: error-return
|
|
- name: error-strings
|
|
- name: exported
|
|
- name: identical-branches
|
|
- name: if-return
|
|
- name: increment-decrement
|
|
- name: modifies-value-receiver
|
|
- name: package-comments
|
|
- name: package-naming
|
|
arguments:
|
|
- convention-name-check-regex: '^[a-z][a-z0-9_]*$' # underscores are used by migration packages
|
|
skip-default-bad-name-check: true
|
|
skip-collision-with-common-std: true
|
|
- name: redefines-builtin-id
|
|
- name: superfluous-else
|
|
- name: time-naming
|
|
- name: unexported-return
|
|
- name: var-declaration
|
|
- name: var-naming
|
|
arguments:
|
|
- [] # AllowList - do not remove as args for the rule are positional and won't work without lists first
|
|
- [] # DenyList
|
|
- - skip-initialism-name-checks: true
|
|
staticcheck:
|
|
checks:
|
|
- all
|
|
- -ST1003
|
|
- -ST1005
|
|
- -QF1001
|
|
- -QF1006
|
|
- -QF1008
|
|
testifylint:
|
|
disable:
|
|
- empty
|
|
- go-require
|
|
- require-error
|
|
usetesting:
|
|
os-temp-dir: true
|
|
perfsprint:
|
|
concat-loop: false
|
|
govet:
|
|
enable:
|
|
- nilness
|
|
- unusedwrite
|
|
exclusions:
|
|
generated: lax
|
|
presets:
|
|
- comments
|
|
- common-false-positives
|
|
- legacy
|
|
- std-error-handling
|
|
rules:
|
|
- linters:
|
|
- dupl
|
|
- errcheck
|
|
- staticcheck
|
|
- unparam
|
|
path: _test\.go
|
|
- linters:
|
|
- dupl
|
|
path: modelmigration/v
|
|
- linters:
|
|
- forbidigo
|
|
path: cmd
|
|
- linters:
|
|
- dupl
|
|
text: (?i)webhook
|
|
- linters:
|
|
- gocritic
|
|
text: (?i)`ID' should not be capitalized
|
|
- linters:
|
|
- unused
|
|
text: (?i)swagger
|
|
- linters:
|
|
- gocritic
|
|
text: '(?i)commentFormatting: put a space between `//` and comment text'
|
|
- linters:
|
|
- gocritic
|
|
text: '(?i)exitAfterDefer:'
|
|
paths:
|
|
- node_modules
|
|
- .venv
|
|
- public
|
|
- web_src
|
|
issues:
|
|
max-issues-per-linter: 0
|
|
max-same-issues: 0
|
|
formatters:
|
|
enable:
|
|
- gci
|
|
- gofumpt
|
|
settings:
|
|
gci:
|
|
custom-order: true
|
|
sections:
|
|
- standard
|
|
- prefix(gitea.dev)
|
|
- blank
|
|
- default
|
|
gofumpt:
|
|
extra-rules: true
|
|
exclusions:
|
|
generated: lax
|
|
paths:
|
|
- node_modules
|
|
- .venv
|
|
- public
|
|
- web_src
|
|
|
|
run:
|
|
timeout: 10m
|