I want to add go build
into a precommit hook so that not to ship unbuildable code.
If the build succeeds, I want to continue commit, otherwise fail and reject commit.
How do I do it properly?
I want to add go build
into a precommit hook so that not to ship unbuildable code.
If the build succeeds, I want to continue commit, otherwise fail and reject commit.
How do I do it properly?
Any pre-commit
hook will be executed by a git bash (even on Windows), so you can script it through a regular bash script.
See Git Hooks
Exiting non-zero from this hook aborts the commit, although you can bypass it with
git commit --no-verify
.
#!/bin/bash
set -e
go build
(from "Checking Bash exit status of several commands efficiently")
That way, you can chain multiple commands (like go vet
, other go linters). If any of them fail, the pre-commit
hook will prevent the commit.