chore(config): blocking client-test gate in pre-push (T-1065); amend D-067 chime duration
pre-push now runs the full gdUnit4 suite via tests/run-godot when client/ changed — blocking, ~100s, suite made green by T-973 and independently re-verified. The tooling gate (make test-tooling on TOOLING_CHANGED, T-1066) rides in the same hook. D-067 amended: the shipped chime is a deliberate 800ms synthesis (#327, ui.md UI-005); prose said 300-400ms. Ticket closes for the maintenance wave in the changelog. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -75,6 +75,20 @@ if [ "$CLIENT_CHANGED" -gt 0 ] && command -v gdformat >/dev/null 2>&1 && [ -d "$
|
||||
fi
|
||||
fi
|
||||
|
||||
# --- Godot client test suite (gdUnit4) — blocking (T-1065) ---
|
||||
# The push gate is the only automatic verification (no CI). The suite is
|
||||
# ~100s, 300s-capped, and was made fully green by the T-973 debt clearance;
|
||||
# binary-dependent e2e suites self-skip when the server binary is absent.
|
||||
if [ "$CLIENT_CHANGED" -gt 0 ] && [ -x "$REPO_ROOT/tests/run-godot" ]; then
|
||||
echo "pre-push: running client test suite (tests/run-godot)..."
|
||||
if ! "$REPO_ROOT/tests/run-godot"; then
|
||||
echo "pre-push: client test suite FAILED"
|
||||
ERRORS=$((ERRORS + 1))
|
||||
else
|
||||
echo "pre-push: client tests — OK"
|
||||
fi
|
||||
fi
|
||||
|
||||
# --- Rust lint (clippy + fmt) ---
|
||||
if [ "$SERVER_CHANGED" -eq 0 ]; then
|
||||
echo "pre-push: no server/ changes — skipping Rust checks"
|
||||
@@ -139,6 +153,23 @@ else
|
||||
echo "pre-push: skipping Python lint (ruff not found — install with: pip install 'ruff>=0.9')"
|
||||
fi
|
||||
|
||||
# --- Tooling test gate (T-1066) ---
|
||||
# make test-tooling = planet-gen determinism guard (#963) + import_economics
|
||||
# --dry-run validation against the committed DB. Only worth the ~90 s when the
|
||||
# push actually touches tooling/ (or pyproject.toml), same scope as ruff above.
|
||||
if [ "$TOOLING_CHANGED" -eq 0 ]; then
|
||||
echo "pre-push: no tooling/ changes — skipping tooling tests"
|
||||
elif command -v make >/dev/null 2>&1; then
|
||||
echo "pre-push: running tooling tests (make test-tooling)..."
|
||||
if ! (cd "$REPO_ROOT" && make test-tooling); then
|
||||
ERRORS=$((ERRORS + 1))
|
||||
else
|
||||
echo "pre-push: tooling tests — OK"
|
||||
fi
|
||||
else
|
||||
echo "pre-push: WARNING — make not found, skipping tooling tests"
|
||||
fi
|
||||
|
||||
# --- JSON syntax validation ---
|
||||
# Use the same REMOTE_REF the directory-change detection above settled on
|
||||
# (origin/<branch> preferred, origin/main fallback). Without this, a first
|
||||
|
||||
Reference in New Issue
Block a user