wrongmove/.githooks/pre-push
Viktor Barzin dbabdf39d0
Add shared pre-push hook to run tests before pushing
Hook lives in .githooks/pre-push (tracked) and runs pytest inside the
Docker app container.  start.sh auto-configures core.hooksPath so new
clones pick it up on first run.
2026-02-14 11:36:26 +00:00

27 lines
671 B
Bash
Executable file

#!/bin/sh
#
# pre-push hook: runs the test suite before allowing a push.
# If tests fail, the push is aborted.
#
echo "Running tests before push..."
# Check if the app container is running
if ! docker compose ps --status running 2>/dev/null | grep -q rec-app; then
echo "ERROR: rec-app container is not running."
echo "Start it with: docker compose up -d"
echo "Skipping tests — push blocked."
exit 1
fi
docker compose exec -T app pytest tests/ -v --tb=short
status=$?
if [ $status -ne 0 ]; then
echo ""
echo "Tests failed — push aborted."
echo "Fix the failures and try again, or push with --no-verify to skip."
exit 1
fi
exit 0