🚨 Please see the project sunsetting announcement: Issues/98 🚨
golang hooks for http://pre-commit.com/
Add this to your .pre-commit-config.yaml
- repo: https://github.com/dnephin/pre-commit-golang
rev: master
hooks:
- id: go-fmt
- id: go-vet
- id: go-lint
- id: go-imports
- id: go-cyclo
args: [-over=15]
- id: validate-toml
- id: no-go-testing
- id: golangci-lint
- id: go-critic
- id: go-unit-tests
- id: go-build
- id: go-mod-tidy
go-fmt- Runsgofmt, requires golanggo-vet- Runsgo vet, requires golanggo-lint- Runsgolint, requires https://github.com/golang/lint but is unmaintained & deprecated in favour ofgolangci-lintgo-imports- Runsgoimports, requires golang.org/x/tools/cmd/goimportsgo-cyclo- Runsgocyclo, require https://github.com/fzipp/gocyclovalidate-toml- Runstomlv, requires https://github.com/BurntSushi/toml/tree/master/cmd/tomlvno-go-testing- Checks that no files are usingtesting.T, if you want developers to use a different testing frameworkgolangci-lint- rungolangci-lint run ./..., requires golangci-lintgo-critic- rungocritic check ./..., requires go-criticgo-unit-tests- rungo test -tags=unit -timeout 30s -short -vgo-build- rungo build, requires golanggo-mod-tidy- rungo mod tidy -v, requires golanggo-mod-vendor- rungo mod vendor, requires golang