Further parallelize coverage. Start loading coverage profile files before test execution completed. This permits to improve the case when there's a lot of packages but one takes much more time.
pre-commit-go runs checks on a Go project on commit and on push via git hooks.
go get github.com/maruel/pre-commit-go
Use built-in help to list all options and commands:
pre-commit-go help
Run from within a git checkout inside $GOPATH. This installs the git hooks within .git/hooks and runs the checks in mode pre-push. It runs the checks on the diff against @{upstream}:
pre-commit-go
It may become necessary to commit something known to be broken. To bypass the pre-commit hook, use:
git commit --no-verify (or -n) git push --no-verify (-n does something else! <3 git)
See Configuration for more details if you want to tweak the default checks. The default checks are meant to be sensible, you can list them with:
pre-commit-go info
pre-commit-go is designed to be used as part of CI. This is described in its own page.