pre-commit: build + test before allowing commit

ober

db14001b30099b600031f11b3d48999b1ead6aeb

diff --git a/tools/pre-commit b/tools/pre-commit
new file mode 100755
index 0000000..0076030
--- /dev/null
+++ b/tools/pre-commit
@@ -0,0 +1,16 @@
+#!/bin/sh
+# Pre-commit hook: build and test before allowing commit.
+# Install: ln -sf ../../tools/pre-commit .git/hooks/pre-commit
+
+set -e
+
+REPO_ROOT="$(git rev-parse --show-toplevel)"
+cd "$REPO_ROOT"
+
+echo "=== pre-commit: building ==="
+make build
+
+echo "=== pre-commit: running tests ==="
+make test-functional
+
+echo "=== pre-commit: all checks passed ==="