Files
leetcode/.githooks/pre-push
T
2026-09-22 12:59:13 -04:00

19 lines
731 B
Bash
Executable File

#!/bin/sh
# Pre-push: the docs pages under apps/docs/content are generated from work/1
# by `bun run sync`, and deploy.yml publishes whatever main holds. Regenerate
# them now and refuse the push if the result differs from the tree, so a
# solution never lands without its page (or with a stale `## Solution`).
#
# Bypass for a deliberate partial push: git push --no-verify
set -eu
cd "$(git rev-parse --show-toplevel)"
report=$(bun run --silent sync)
changed=$(git status --porcelain -- apps/docs/content)
if [ -n "$changed" ]; then
printf '%s\n' "$report" | grep -v 'skipped (in sync)' >&2
printf '\npre-push: apps/docs/content is out of sync with work/1 — commit the regenerated pages:\n%s\n' "$changed" >&2
exit 1
fi