mirror of
https://github.com/tw93/Mole.git
synced 2026-02-04 13:16:47 +00:00
- Add .golangci.yml configuration enabling govet, staticcheck, errcheck, gosimple, ineffassign, unused, gofmt, and goimports linters - Update scripts/check.sh to run golangci-lint with go vet fallback - Update CI workflow to install golangci-lint in both format and quality jobs - Add golangci-lint to CONTRIBUTING.md setup instructions Closes #266
57 lines
1.3 KiB
YAML
57 lines
1.3 KiB
YAML
# golangci-lint configuration for Mole
|
|
# https://golangci-lint.run/usage/configuration/
|
|
|
|
run:
|
|
timeout: 5m
|
|
# Only lint Go code in cmd directory
|
|
modules-download-mode: readonly
|
|
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
# Default linters
|
|
- govet
|
|
- staticcheck
|
|
- gosimple
|
|
- ineffassign
|
|
- unused
|
|
# Additional useful linters
|
|
- errcheck
|
|
- gofmt
|
|
- goimports
|
|
|
|
linters-settings:
|
|
govet:
|
|
enable-all: true
|
|
disable:
|
|
- fieldalignment # struct field alignment optimization is noisy
|
|
errcheck:
|
|
# Don't check for errors on these functions (common patterns)
|
|
exclude-functions:
|
|
- (io.Closer).Close
|
|
- (*os/exec.Cmd).Run
|
|
- (*os/exec.Cmd).Start
|
|
staticcheck:
|
|
checks: ["all"]
|
|
goimports:
|
|
local-prefixes: github.com/tw93/Mole
|
|
|
|
issues:
|
|
# Don't limit the number of issues per linter
|
|
max-issues-per-linter: 0
|
|
max-same-issues: 0
|
|
|
|
exclude-rules:
|
|
# Ignore certain patterns in test files
|
|
- path: _test\.go
|
|
linters:
|
|
- errcheck
|
|
# Ignore errors from os.Remove in cleanup code
|
|
- text: "Error return value of `os.Remove` is not checked"
|
|
linters:
|
|
- errcheck
|
|
# Allow unchecked errors on deferred Close calls
|
|
- text: "Error return value of .*.Close"
|
|
linters:
|
|
- errcheck
|