omnigraph/scripts/hooks/pre-commit

16 lines
558 B
Text
Raw Normal View History

#!/usr/bin/env bash
# Regenerate openapi.json when the server API surface changes.
set -euo pipefail
staged=$(git diff --cached --name-only --diff-filter=ACMR)
echo "$staged" | grep -qE '^(crates/omnigraph-server/src/.*\.rs|crates/omnigraph-server/Cargo\.toml)$' || exit 0
echo "[pre-commit] regenerating openapi.json..."
OMNIGRAPH_UPDATE_OPENAPI=1 cargo test -p omnigraph-server --test openapi openapi_spec_is_up_to_date --quiet
if ! git diff --quiet -- openapi.json; then
git add openapi.json
echo "[pre-commit] openapi.json updated and staged"
fi