97c3fdfaa2
With this commit we add a Makefile with the goal of removing the goclean.sh script. We also use the more powerful golangci-lint linter and split the GitHub actions into multiple sections to parallelize them.
54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
run:
|
|
# timeout for analysis
|
|
deadline: 10m
|
|
|
|
linters-settings:
|
|
govet:
|
|
# Don't report about shadowed variables
|
|
check-shadowing: false
|
|
gofmt:
|
|
# simplify code: gofmt with `-s` option, true by default
|
|
simplify: true
|
|
|
|
linters:
|
|
enable-all: true
|
|
disable:
|
|
# Global variables are used in many places throughout the code base.
|
|
- gochecknoglobals
|
|
|
|
# Some lines are over 80 characters on purpose and we don't want to make them
|
|
# even longer by marking them as 'nolint'.
|
|
- lll
|
|
|
|
# We don't care (enough) about misaligned structs to lint that.
|
|
- maligned
|
|
|
|
# We have long functions, especially in tests. Moving or renaming those would
|
|
# trigger funlen problems that we may not want to solve at that time.
|
|
- funlen
|
|
|
|
# Disable for now as we haven't yet tuned the sensitivity to our codebase
|
|
# yet. Enabling by default for example, would also force new contributors to
|
|
# potentially extensively refactor code, when they want to smaller change to
|
|
# land.
|
|
- gocyclo
|
|
|
|
# Instances of table driven tests that don't pre-allocate shouldn't trigger
|
|
# the linter.
|
|
- prealloc
|
|
|
|
# Init functions are used by loggers throughout the codebase.
|
|
- gochecknoinits
|
|
|
|
# Explicit types are okay.
|
|
- interfacer
|
|
|
|
issues:
|
|
exclude-rules:
|
|
# Exclude gosec from running for tests so that tests with weak randomness
|
|
# (math/rand) will pass the linter.
|
|
- path: _test\.go
|
|
linters:
|
|
- gosec
|
|
#- errcheck
|
|
- dupl
|