230 lines
8.2 KiB
YAML
230 lines
8.2 KiB
YAML
# Options for analysis running.
|
|
run:
|
|
# The default concurrency value is the number of available CPU.
|
|
concurrency: 4
|
|
# Timeout for analysis, e.g. 30s, 5m.
|
|
# Default: 1m
|
|
timeout: 5m
|
|
# Exit code when at least one issue was found.
|
|
# Default: 1
|
|
issues-exit-code: 2
|
|
# Include test files or not.
|
|
# Default: true
|
|
tests: false
|
|
# List of build tags, all linters use it.
|
|
# Default: [].
|
|
build-tags:
|
|
- mytag
|
|
# Which dirs to skip: issues from them won't be reported.
|
|
# Can use regexp here: `generated.*`, regexp is applied on full path,
|
|
# including the path prefix if one is set.
|
|
# Default value is empty list,
|
|
# but default dirs are skipped independently of this option's value (see skip-dirs-use-default).
|
|
# "/" will be replaced by current OS file path separator to properly work on Windows.
|
|
skip-dirs:
|
|
- src/external_libs
|
|
- autogenerated_by_my_lib
|
|
# Enables skipping of directories:
|
|
# - vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
|
|
# Default: true
|
|
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:
|
|
- ".*\\.my\\.go$"
|
|
- lib/bad.go
|
|
# 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.
|
|
#
|
|
# Allowed values: readonly|vendor|mod
|
|
# By default, it isn't set.
|
|
modules-download-mode: readonly
|
|
# Allow multiple parallel golangci-lint instances running.
|
|
# If false (default) - golangci-lint acquires file lock on start.
|
|
allow-parallel-runners: false
|
|
# Define the Go version limit.
|
|
# Mainly related to generics support since go1.18.
|
|
# Default: use Go version from the go.mod file, fallback on the env var `GOVERSION`, fallback on 1.18
|
|
go: '1.19'
|
|
|
|
# output configuration options
|
|
output:
|
|
# Format: colored-line-number|line-number|json|tab|checkstyle|code-climate|junit-xml|github-actions|teamcity
|
|
#
|
|
# Multiple can be specified by separating them by comma, output can be provided
|
|
# for each of them by separating format name and path by colon symbol.
|
|
# Output path can be either `stdout`, `stderr` or path to the file to write to.
|
|
# Example: "checkstyle:report.xml,json:stdout,colored-line-number"
|
|
#
|
|
# Default: colored-line-number
|
|
format: colored-line-number
|
|
# Print lines of code with issue.
|
|
# Default: true
|
|
print-issued-lines: false
|
|
# Print linter name in the end of issue text.
|
|
# Default: true
|
|
print-linter-name: false
|
|
# Make issues output unique by line.
|
|
# Default: true
|
|
uniq-by-line: false
|
|
# Add a prefix to the output file references.
|
|
# Default is no prefix.
|
|
path-prefix: ""
|
|
# Sort results by: filepath, line and column.
|
|
sort-results: false
|
|
|
|
linters-settings:
|
|
revive:
|
|
rules:
|
|
- name: exported
|
|
severity: warning
|
|
disabled: true
|
|
arguments:
|
|
- "checkPrivateReceivers"
|
|
- "sayRepetitiveInsteadOfStutters"
|
|
- "disableStutteringCheck"
|
|
|
|
goimports:
|
|
# A comma-separated list of prefixes, which, if set, checks import paths
|
|
# with the given prefixes are grouped after 3rd-party packages.
|
|
# Default: ""
|
|
local-prefixes: "github.com/Bio-OS/bioos"
|
|
|
|
linters:
|
|
# Disable all linters.
|
|
# Default: false
|
|
disable-all: true
|
|
# Enable specific linter
|
|
# https://golangci-lint.run/usage/linters/#enabled-by-default
|
|
enable:
|
|
- ineffassign
|
|
- goimports
|
|
- govet
|
|
- revive
|
|
- unused
|
|
|
|
# Run only fast linters from enabled linters set (first run won't be fast)
|
|
# Default: false
|
|
fast: false
|
|
|
|
issues:
|
|
# List of regexps of issue texts to exclude.
|
|
#
|
|
# But independently of this option we use default exclude patterns,
|
|
# it can be disabled by `exclude-use-default: false`.
|
|
# To list all excluded by default patterns execute `golangci-lint run --help`
|
|
#
|
|
# Default: https://golangci-lint.run/usage/false-positives/#default-exclusions
|
|
exclude:
|
|
- test/.*
|
|
- third_party/.*
|
|
# Excluding configuration per-path, per-linter, per-text and per-source
|
|
exclude-rules:
|
|
# Exclude some linters from running on tests files.
|
|
- path: _test\.go
|
|
linters:
|
|
- gocyclo
|
|
- errcheck
|
|
- dupl
|
|
- gosec
|
|
# Exclude known linters from partially hard-vendored code,
|
|
# which is impossible to exclude via `nolint` comments.
|
|
# `/` will be replaced by current OS file path separator to properly work on Windows.
|
|
- path: internal/hmac/
|
|
text: "weak cryptographic primitive"
|
|
linters:
|
|
- gosec
|
|
# Exclude some `staticcheck` messages.
|
|
- linters:
|
|
- staticcheck
|
|
text: "SA9003:"
|
|
# Exclude `lll` issues for long lines with `go:generate`.
|
|
- linters:
|
|
- lll
|
|
source: "^//go:generate "
|
|
# Independently of option `exclude` we use default exclude patterns,
|
|
# it can be disabled by this option.
|
|
# To list all excluded by default patterns execute `golangci-lint run --help`.
|
|
# Default: true.
|
|
exclude-use-default: true
|
|
# If set to true exclude and exclude-rules regular expressions become case-sensitive.
|
|
# Default: false
|
|
exclude-case-sensitive: false
|
|
# The list of ids of default excludes to include or disable.
|
|
# https://golangci-lint.run/usage/false-positives/#default-exclusions
|
|
# Default: []
|
|
include:
|
|
- EXC0001
|
|
- EXC0002
|
|
- EXC0003
|
|
- EXC0004
|
|
- EXC0005
|
|
- EXC0006
|
|
- EXC0007
|
|
- EXC0008
|
|
- EXC0009
|
|
- EXC0010
|
|
- EXC0011
|
|
- EXC0012
|
|
- EXC0013
|
|
- EXC0014
|
|
- EXC0015
|
|
# Maximum issues count per one linter.
|
|
# Set to 0 to disable.
|
|
# Default: 50
|
|
max-issues-per-linter: 0
|
|
# Maximum count of issues with the same text.
|
|
# Set to 0 to disable.
|
|
# Default: 3
|
|
max-same-issues: 0
|
|
# Show only new issues: if there are unstaged changes or untracked files,
|
|
# only those changes are analyzed, else only changes in HEAD~ are analyzed.
|
|
# It's a super-useful option for integration of golangci-lint into existing large codebase.
|
|
# It's not practical to fix all existing issues at the moment of integration:
|
|
# much better don't allow issues in new code.
|
|
#
|
|
# Default: false.
|
|
new: false
|
|
# Show only new issues created after git revision `REV`.
|
|
# new-from-rev: HEAD
|
|
# Show only new issues created in git patch with set file path.
|
|
# new-from-patch: path/to/patch/file
|
|
# Fix found issues (if it's supported by the linter).
|
|
fix: true
|
|
|
|
severity:
|
|
# Set the default severity for issues.
|
|
#
|
|
# If severity rules are defined and the issues do not match or no severity is provided to the rule
|
|
# this will be the default severity applied.
|
|
# Severities should match the supported severity names of the selected out format.
|
|
# - Code climate: https://docs.codeclimate.com/docs/issues#issue-severity
|
|
# - Checkstyle: https://checkstyle.sourceforge.io/property_types.html#SeverityLevel
|
|
# - GitHub: https://help.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-error-message
|
|
# - TeamCity: https://www.jetbrains.com/help/teamcity/service-messages.html#Inspection+Instance
|
|
#
|
|
# Default value is an empty string.
|
|
default-severity: error
|
|
# If set to true `severity-rules` regular expressions become case-sensitive.
|
|
# Default: false
|
|
case-sensitive: true
|
|
# When a list of severity rules are provided, severity information will be added to lint issues.
|
|
# Severity rules have the same filtering capability as exclude rules
|
|
# except you are allowed to specify one matcher per severity rule.
|
|
# Only affects out formats that support setting severity information.
|
|
#
|
|
# Default: []
|
|
rules:
|
|
- linters:
|
|
- dupl
|
|
severity: info |