Skip to content
This repository was archived by the owner on Mar 12, 2025. It is now read-only.

dnephin/pre-commit-golang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c17f835 Â· Nov 26, 2022

History

97 Commits
Nov 2, 2021
Oct 24, 2022
Apr 18, 2018
Nov 20, 2022
Nov 5, 2019
Mar 31, 2022
Mar 31, 2022
Nov 21, 2022
Aug 29, 2022
Nov 21, 2022
Mar 31, 2022
Oct 24, 2022
Aug 4, 2020
Sep 28, 2022
Mar 6, 2019
Apr 7, 2022
May 25, 2021

Repository files navigation

pre-commit-golang

🚨 Please see the project sunsetting announcement: Issues/98 🚨


golang hooks for http://pre-commit.com/

Using these hooks

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

Available hooks

  • go-fmt - Runs gofmt, requires golang
  • go-vet - Runs go vet, requires golang
  • go-lint - Runs golint, requires https://github.com/golang/lint but is unmaintained & deprecated in favour of golangci-lint
  • go-imports - Runs goimports, requires golang.org/x/tools/cmd/goimports
  • go-cyclo - Runs gocyclo, require https://github.com/fzipp/gocyclo
  • validate-toml - Runs tomlv, requires https://github.com/BurntSushi/toml/tree/master/cmd/tomlv
  • no-go-testing - Checks that no files are using testing.T, if you want developers to use a different testing framework
  • golangci-lint - run golangci-lint run ./..., requires golangci-lint
  • go-critic - run gocritic check ./..., requires go-critic
  • go-unit-tests - run go test -tags=unit -timeout 30s -short -v
  • go-build - run go build, requires golang
  • go-mod-tidy - run go mod tidy -v, requires golang
  • go-mod-vendor - run go mod vendor, requires golang