CI: lint action

This commit is contained in:
raf 2023-09-07 23:27:54 +03:00
parent 5e4e681bbd
commit a51fc48d58
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
2 changed files with 97 additions and 0 deletions

29
.github/workflows/lint.yml vendored Normal file
View file

@ -0,0 +1,29 @@
---
name: golangci-lint
on:
push:
paths:
- "go.sum"
- "go.mod"
- "**.go"
- ".github/workflows/lint.yml"
- ".golangci.yml"
pull_request:
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: install Go
uses: actions/setup-go@v3
with:
go-version: 1.20.x
- name: Lint
uses: golangci/golangci-lint-action@v3.4.0
with:
version: v1.54.2

68
.golangcli.yml Normal file
View file

@ -0,0 +1,68 @@
---
run:
deadline: 5m
skip-files:
# Skip autogenerated files.
- ^.*\.(pb|y)\.go$
output:
sort-results: true
linters:
enable:
- depguard
- durationcheck
- errorlint
- exportloopref
- gofmt
- gofumpt
- goimports
- gosimple
- ineffassign
- misspell
- nolintlint
- predeclared
- revive
- staticcheck
- unconvert
- unused
- wastedassign
issues:
max-same-issues: 0
exclude-rules:
- path: _test.go
linters:
- errcheck
- govet
- structcheck
linters-settings:
depguard:
rules:
main:
deny:
#- pkg: "sync/atomic"
# desc: "Use go.uber.org/atomic instead of sync/atomic"
- pkg: "github.com/stretchr/testify/assert"
desc: "Use github.com/stretchr/testify/require instead of github.com/stretchr/testify/assert"
- pkg: "github.com/go-kit/kit/log"
desc: "Use github.com/go-kit/log instead of github.com/go-kit/kit/log"
- pkg: "io/ioutil"
desc: "Use corresponding 'os' or 'io' functions instead."
#- pkg: "regexp"
# desc: "Use github.com/grafana/regexp instead of regexp"
errcheck:
exclude-functions:
# The following 2 methods always return nil as the error
- (*github.com/cespare/xxhash/v2.Digest).Write
- (*github.com/cespare/xxhash/v2.Digest).WriteString
- (*bufio.Writer).WriteRune
gofumpt:
extra-rules: true
revive:
rules:
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-parameter
- name: unused-parameter
severity: warning
disabled: true