Enable [unparam](https://github.com/mvdan/unparam) linter. Often I could not tell the intention why param is unused, so I put `//nolint` for those cases like webhook request creation functions never using `ctx`. --------- Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: delvh <dev.lh@web.de> (cherry picked from commit fc2d75f86d77b022ece848acf2581c14ef21d43b) Conflicts: modules/setting/config_env.go modules/storage/azureblob.go services/webhook/dingtalk.go services/webhook/discord.go services/webhook/feishu.go services/webhook/matrix.go services/webhook/msteams.go services/webhook/packagist.go services/webhook/slack.go services/webhook/telegram.go services/webhook/wechatwork.go run make lint-go and fix Forgejo specific warnings
		
			
				
	
	
		
			148 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			148 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
linters:
 | 
						|
  enable-all: false
 | 
						|
  disable-all: true
 | 
						|
  fast: false
 | 
						|
  enable:
 | 
						|
    - bidichk
 | 
						|
    - depguard
 | 
						|
    - dupl
 | 
						|
    - errcheck
 | 
						|
    - forbidigo
 | 
						|
    - gocritic
 | 
						|
    - gofmt
 | 
						|
    - gofumpt
 | 
						|
    - gosimple
 | 
						|
    - govet
 | 
						|
    - ineffassign
 | 
						|
    - nakedret
 | 
						|
    - nolintlint
 | 
						|
    - revive
 | 
						|
    - staticcheck
 | 
						|
    - stylecheck
 | 
						|
    - typecheck
 | 
						|
    - unconvert
 | 
						|
    - unused
 | 
						|
    - unparam
 | 
						|
    - wastedassign
 | 
						|
 | 
						|
run:
 | 
						|
  timeout: 10m
 | 
						|
  skip-dirs:
 | 
						|
    - node_modules
 | 
						|
    - public
 | 
						|
    - web_src
 | 
						|
 | 
						|
output:
 | 
						|
  sort-results: true
 | 
						|
  sort-order: [file]
 | 
						|
  show-stats: true
 | 
						|
 | 
						|
linters-settings:
 | 
						|
  stylecheck:
 | 
						|
    checks: ["all", "-ST1005", "-ST1003"]
 | 
						|
  nakedret:
 | 
						|
    max-func-lines: 0
 | 
						|
  gocritic:
 | 
						|
    disabled-checks:
 | 
						|
      - ifElseChain
 | 
						|
      - singleCaseSwitch # Every time this occurred in the code, there  was no other way.
 | 
						|
  revive:
 | 
						|
    severity: error
 | 
						|
    rules:
 | 
						|
      - name: atomic
 | 
						|
      - name: bare-return
 | 
						|
      - name: blank-imports
 | 
						|
      - name: constant-logical-expr
 | 
						|
      - name: context-as-argument
 | 
						|
      - name: context-keys-type
 | 
						|
      - name: dot-imports
 | 
						|
      - name: duplicated-imports
 | 
						|
      - name: empty-lines
 | 
						|
      - name: error-naming
 | 
						|
      - name: error-return
 | 
						|
      - name: error-strings
 | 
						|
      - name: errorf
 | 
						|
      - name: exported
 | 
						|
      - name: identical-branches
 | 
						|
      - name: if-return
 | 
						|
      - name: increment-decrement
 | 
						|
      - name: indent-error-flow
 | 
						|
      - name: modifies-value-receiver
 | 
						|
      - name: package-comments
 | 
						|
      - name: range
 | 
						|
      - name: receiver-naming
 | 
						|
      - name: redefines-builtin-id
 | 
						|
      - name: string-of-int
 | 
						|
      - name: superfluous-else
 | 
						|
      - name: time-naming
 | 
						|
      - name: unconditional-recursion
 | 
						|
      - name: unexported-return
 | 
						|
      - name: unreachable-code
 | 
						|
      - name: var-declaration
 | 
						|
      - name: var-naming
 | 
						|
  gofumpt:
 | 
						|
    extra-rules: true
 | 
						|
  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: code.gitea.io/gitea/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: github.com/minio/sha256-simd
 | 
						|
            desc: use crypto/sha256 instead, see https://codeberg.org/forgejo/forgejo/pulls/1528
 | 
						|
 | 
						|
issues:
 | 
						|
  max-issues-per-linter: 0
 | 
						|
  max-same-issues: 0
 | 
						|
  exclude-dirs: [node_modules, public, web_src]
 | 
						|
  exclude-case-sensitive: true
 | 
						|
  exclude-rules:
 | 
						|
    - path: models/db/sql_postgres_with_schema.go
 | 
						|
      linters:
 | 
						|
        - nolintlint
 | 
						|
    - path: _test\.go
 | 
						|
      linters:
 | 
						|
        - gocyclo
 | 
						|
        - errcheck
 | 
						|
        - dupl
 | 
						|
        - gosec
 | 
						|
        - unparam
 | 
						|
        - staticcheck
 | 
						|
    - path: models/migrations/v
 | 
						|
      linters:
 | 
						|
        - gocyclo
 | 
						|
        - errcheck
 | 
						|
        - dupl
 | 
						|
        - gosec
 | 
						|
    - path: cmd
 | 
						|
      linters:
 | 
						|
        - forbidigo
 | 
						|
    - text: "webhook"
 | 
						|
      linters:
 | 
						|
        - dupl
 | 
						|
    - text: "`ID' should not be capitalized"
 | 
						|
      linters:
 | 
						|
        - gocritic
 | 
						|
    - text: "swagger"
 | 
						|
      linters:
 | 
						|
        - unused
 | 
						|
        - deadcode
 | 
						|
    - text: "argument x is overwritten before first use"
 | 
						|
      linters:
 | 
						|
        - staticcheck
 | 
						|
    - text: "commentFormatting: put a space between `//` and comment text"
 | 
						|
      linters:
 | 
						|
        - gocritic
 | 
						|
    - text: "exitAfterDefer:"
 | 
						|
      linters:
 | 
						|
        - gocritic
 |