summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.githooks/pre-push21
1 files changed, 21 insertions, 0 deletions
diff --git a/.githooks/pre-push b/.githooks/pre-push
new file mode 100755
index 0000000..48b6859
--- /dev/null
+++ b/.githooks/pre-push
@@ -0,0 +1,21 @@
+#!/bin/sh
+set -eu
+
+if ! command -v ruff >/dev/null 2>&1; then
+ echo "pre-push: ruff is not installed or not on PATH" >&2
+ exit 1
+fi
+
+before_status="$(git status --porcelain)"
+
+echo "pre-push: running ruff format"
+ruff format
+
+after_status="$(git status --porcelain)"
+if [ "$before_status" != "$after_status" ]; then
+ echo "pre-push: ruff format changed files; commit the formatting before pushing" >&2
+ exit 1
+fi
+
+echo "pre-push: running ruff check"
+ruff check