pipe/.githooks/pre-push
trvon edaaec0a94
chore: align the hooks, PR template, CODEOWNERS and commitlint with the repo
- The pre-push hook skipped on PIPE_SKIP_PREPUSH_CI_GATE while the gate
  script it runs skipped on PIPE_SKIP_PREPUSH_GATE, so each name worked in only
  one place. Both now use PIPE_SKIP_PREPUSH_GATE.
- The PR template asked for a hand-written CHANGELOG entry; release-please
  generates CHANGELOG.md from commit subjects, so the item now says that. It
  also asked for a "Stability note" the repo does not have; removed.
- CODEOWNERS listed /docs/**, which does not exist.
- commitlint accepted `merge` but rejected `security`, a type
  release-please-config.json maps to its Security section; `security` is now
  allowed.
2026-09-22 12:22:04 -06:00

21 lines
813 B
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
REPO_ROOT="$(git rev-parse --show-toplevel)"
# Git exports repository-local overrides to hooks. Do not let test fixtures in
# temporary directories inherit this worktree's refs, index or shared config.
git_local_env="$(git rev-parse --local-env-vars)"
while IFS= read -r git_env_name; do
unset "$git_env_name"
done <<< "$git_local_env"
unset git_local_env git_env_name
# One skip variable, PIPE_SKIP_PREPUSH_GATE, shared with the gate script. The
# hook used to check PIPE_SKIP_PREPUSH_CI_GATE while the script checked
# PIPE_SKIP_PREPUSH_GATE, so each documented name worked in only one place.
if [ "${PIPE_SKIP_PREPUSH_GATE:-0}" != "1" ]; then
"$REPO_ROOT/scripts/pre-push-ci-gate.sh"
else
echo "[pre-push] PIPE_SKIP_PREPUSH_GATE=1; skipping local CI gate" >&2
fi