run: timeout: 15m allow-parallel-runners: true linters: disable-all: true enable: - asasalint - asciicheck - bidichk - bodyclose - copyloopvar - containedctx - dogsled - dupword - durationcheck - errcheck - errchkjson - gci - goconst - gocritic - godot - gofmt - goimports - goprintffuncname - gosec - gosimple - govet - importas - ineffassign - misspell - nakedret - nilerr - noctx - nolintlint - nosprintfhostport - prealloc - predeclared - revive - rowserrcheck - staticcheck - stylecheck - thelper - typecheck - unconvert - unparam - unused - usestdlibvars - whitespace linters-settings: gci: sections: - "standard" - "default" - "prefix(github.com/balabanovds)" custom-order: true importas: no-unaliased: true goconst: min-len: 5 min-occurrences: 99 lll: line-length: 140 revive: rules: # The following rules are recommended https://github.com/mgechev/revive#recommended-configuration - name: blank-imports - name: context-as-argument - name: context-keys-type - name: dot-imports - name: error-return - name: error-strings - name: error-naming # - name: exported - name: if-return - name: increment-decrement - name: var-naming - name: var-declaration # - name: package-comments - name: range - name: receiver-naming - name: time-naming - name: unexported-return - name: indent-error-flow - name: errorf - name: empty-block - name: superfluous-else - name: unused-parameter - name: unreachable-code - name: redefines-builtin-id # # Rules in addition to the recommended configuration above. # - name: bool-literal-in-expr - name: constant-logical-expr gosec: excludes: - G307 # Deferring unsafe method "Close" on type "\*os.File" - G108 # Profiling endpoint is automatically exposed on /debug/pprof - G115 # integer overflow conversion int -> uint32 gocritic: enabled-tags: - diagnostic - experimental - performance disabled-checks: - appendAssign - dupImport # https://github.com/go-critic/go-critic/issues/845 - evalOrder - ifElseChain - octalLiteral - regexpSimplify - singleCaseSwitch - sloppyReassign - truncateCmp - typeDefFirst - unnamedResult - unnecessaryDefer - whyNoLint - wrapperFunc - rangeValCopy - hugeParam issues: exclude-rules: - text: "at least one file in a package should have a package comment" linters: - stylecheck - text: "should have a package comment, unless it's in another file for this package" linters: - golint - text: "should have comment or be unexported" linters: - golint - text: "don't use an underscore in package name" linters: - revive - text: "should not use underscores in package names" linters: - stylecheck - path: _test\.go linters: - gosec - dupl exclude-use-default: false exclude-files: - \.pb\.go$ - \.pb\.validate\.go$ - \.pb\.gw\.go$