version: "2" run: allow-parallel-runners: true timeout: 5m # 超时时间 tests: false linters: default: none enable: - bodyclose - errcheck - errorlint - govet - ineffassign - misspell - revive - staticcheck settings: errcheck: exclude-functions: - io/ioutil.ReadFile - io.Copy(*bytes.Buffer) - io.Copy(os.Stdout) - net.(*) misspell: locale: US revive: max-open-files: 2048 confidence: 0.1 severity: error enable-all-rules: false rules: - name: argument-limit arguments: - 15 severity: warning disabled: true - name: atomic severity: warning disabled: false - name: banned-characters arguments: - Ω - Σ - σ severity: warning disabled: false - name: bool-literal-in-expr severity: warning disabled: false - name: call-to-gc severity: warning disabled: false - name: cognitive-complexity arguments: - 25 severity: warning disabled: false - name: constant-logical-expr severity: warning disabled: false - name: context-as-argument severity: warning disabled: false - name: context-keys-type severity: warning disabled: false - name: cyclomatic arguments: - 25 severity: warning disabled: false - name: datarace severity: warning disabled: false - name: deep-exit severity: warning disabled: false - name: defer arguments: - - call-chain - loop severity: warning disabled: false - name: duplicated-imports severity: warning disabled: false - name: early-return severity: warning disabled: false - name: error-naming severity: warning disabled: false - name: error-return severity: warning disabled: false - name: error-strings severity: warning disabled: false - name: errorf severity: warning disabled: false - name: exported arguments: - checkPrivateReceivers - sayRepetitiveInsteadOfStutters severity: warning disabled: false - name: function-result-limit arguments: - 6 severity: warning disabled: false - name: function-length arguments: - 100 - 0 severity: warning disabled: false - name: get-return severity: warning disabled: false - name: if-return severity: warning disabled: false - name: increment-decrement severity: warning disabled: false - name: indent-error-flow severity: warning disabled: false - name: modifies-value-receiver severity: warning disabled: false - name: nested-structs severity: warning disabled: true - name: optimize-operands-order severity: warning disabled: false - name: package-comments severity: warning disabled: false - name: range severity: warning disabled: false - name: range-val-in-closure severity: warning disabled: false - name: range-val-address severity: warning disabled: false - name: receiver-naming severity: warning disabled: false - name: redefines-builtin-id severity: warning disabled: false - name: string-of-int severity: warning disabled: false - name: string-format arguments: - - core.WriteError[1].Message - /^([^A-Z]|$)/ - must not start with a capital letter - - fmt.Errorf[0] - /(^|[^\.!?])$/ - must not end in punctuation - - panic - /^[^\n]*$/ - must not contain line breaks severity: warning disabled: false - name: struct-tag severity: warning disabled: false - name: superfluous-else severity: warning disabled: false - name: time-equal severity: warning disabled: false - name: time-naming severity: warning disabled: false # https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#var-naming - name: var-naming arguments: - ["ID", "Id", "id"] - ["VM"] - [{ skipInitialismNameChecks = true }] severity: warning disabled: true - name: var-declaration severity: warning disabled: false - name: unconditional-recursion severity: warning disabled: false - name: unexported-naming severity: warning disabled: false - name: unexported-return disabled: true - name: unhandled-error arguments: - fmt.Printf - os.(Create|WriteFile|Chmod) - net.* - bytes.Buffer.WriteString - con.WriteString severity: warning disabled: true - name: unnecessary-stmt severity: warning disabled: false - name: unreachable-code severity: warning disabled: false - name: useless-break severity: warning disabled: false - name: waitgroup-by-value severity: warning disabled: false staticcheck: checks: - all - -ST1000 - -ST1001 - -ST1003 - -ST1016 - -ST1020 - -ST1021 - -ST1022 exclusions: generated: lax presets: - comments - common-false-positives - legacy - std-error-handling paths: - third_party$ - builtin$ - examples$ formatters: enable: - gofmt exclusions: generated: lax paths: - third_party$ - builtin$ - examples$