run: # default is true. Enables skipping of directories: # vendor$, third_party$, testdata$, examples$, Godeps$, builtin$ skip-dirs-use-default: false # Which files to skip: they will be analyzed, but issues from them won't be reported. # Default value is empty list, # but there is no need to include all autogenerated files, # we confidently recognize autogenerated files. # If it's not please let us know. # "/" will be replaced by current OS file path separator to properly work on Windows. skip-files: - _mock\.go # by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules": # If invoked with -mod=readonly, the go command is disallowed from the implicit # automatic updating of go.mod described above. Instead, it fails when any changes # to go.mod are needed. This setting is most useful to check that go.mod does # not need updates, such as in a continuous integration and testing system. # If invoked with -mod=vendor, the go command assumes that the vendor # directory holds the correct copies of dependencies and ignores # the dependency descriptions in go.mod. modules-download-mode: readonly # Define the Go version limit. # Mainly related to generics support in go1.18. # Default: use Go version from the go.mod file, fallback on the env var `GOVERSION`, fallback on 1.17 go: '1.17' output: # Make issues output unique by line. # Default: true uniq-by-line: false linters-settings: gci: # Section configuration to compare against. # Section names are case-insensitive and may contain parameters in (). # Default: ["standard", "default"] sections: - standard # Captures all standard packages if they do not match another section. - default # Contains all imports that could not be matched to another section type. - prefix(gitlab.com/gitlab-org/gitlab-pages) # Groups all imports with the specified Prefix. # Separators that should be present between sections. # Default: ["newLine"] section-separators: - newLine gocyclo: # Minimal code complexity to report. # Default: 30 (but we recommend 10-20) min-complexity: 10 goimports: local-prefixes: gitlab.com/gitlab-org/gitlab-pages gosimple: # Select the Go version to target. # Default: 1.13 go: "1.17" govet: # Enable all analyzers. # Default: false enable-all: true # Disable analyzers by name. # Run `go tool vet help` to see all analyzers. disable: - shadow - fieldalignment nolintlint: # Enable to require an explanation of nonzero length after each nolint directive. # Default: false require-explanation: true # Enable to require nolint directives to mention the specific linter being suppressed. # Default: false require-specific: true staticcheck: # Select the Go version to target. # Default: 1.13 go: "1.17" linters: disable-all: true enable: - bodyclose - dogsled - errorlint - gci - goconst - gocyclo - goimports - gosimple - govet - gosec - ineffassign - misspell - revive - staticcheck - typecheck - unconvert - unparam - unused - whitespace fast: false issues: exclude: - "unused-parameter:" # Excluding configuration per-path, per-linter, per-text and per-source exclude-rules: - path: _test\.go linters: - bodyclose - gosec - goconst - path: internal/fixture/fixtures\.go linters: - gosec # Maximum issues count per one linter. Set to 0 to disable. Default is 50. max-issues-per-linter: 0 # Maximum count of issues with the same text. Set to 0 to disable. Default is 3. max-same-issues: 0