feat(githooks): add post-commit hook for logging and script execution
This commit is contained in:
Executable
+38
@@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -u
|
||||||
|
|
||||||
|
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null)"
|
||||||
|
SCRIPT_PATH="$REPO_ROOT/scripts/release/pre_release_web.sh"
|
||||||
|
LOG_FILE="$REPO_ROOT/logs/post-commit.log"
|
||||||
|
COMMIT_HASH="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)"
|
||||||
|
|
||||||
|
mkdir -p "$(dirname "$LOG_FILE")"
|
||||||
|
|
||||||
|
{
|
||||||
|
echo ""
|
||||||
|
echo "=== post-commit @ $(date +%Y-%m-%dT%H:%M:%S%z) ==="
|
||||||
|
echo "repo: $REPO_ROOT"
|
||||||
|
echo "commit: $COMMIT_HASH"
|
||||||
|
echo "script: $SCRIPT_PATH"
|
||||||
|
echo ""
|
||||||
|
} >> "$LOG_FILE"
|
||||||
|
|
||||||
|
if [ ! -x "$SCRIPT_PATH" ]; then
|
||||||
|
{
|
||||||
|
echo "=== ERROR: script not executable or not found ==="
|
||||||
|
echo "path: $SCRIPT_PATH"
|
||||||
|
echo "=== post-commit EXIT_CODE=127 @ $(date +%Y-%m-%dT%H:%M:%S%z) ==="
|
||||||
|
} >> "$LOG_FILE"
|
||||||
|
exit 127
|
||||||
|
fi
|
||||||
|
|
||||||
|
"$SCRIPT_PATH" >> "$LOG_FILE" 2>&1
|
||||||
|
EXIT_CODE=$?
|
||||||
|
|
||||||
|
{
|
||||||
|
echo ""
|
||||||
|
echo "=== post-commit EXIT_CODE=$EXIT_CODE @ $(date +%Y-%m-%dT%H:%M:%S%z) ==="
|
||||||
|
} >> "$LOG_FILE"
|
||||||
|
|
||||||
|
exit "$EXIT_CODE"
|
||||||
Reference in New Issue
Block a user