mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 14:24:49 +00:00
ci: добавить pre-push hook (CSS-линтер + UI Playwright)
Блокирует push при JS-ошибках в интерфейсе или CSS-нарушениях. API-тесты в хук не включены — зависят от VPS/Drive, запускать вручную. Активируется через: git config core.hooksPath .githooks Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
0fb0597b8d
commit
ff35dd769f
50
.githooks/pre-push
Normal file
50
.githooks/pre-push
Normal file
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
# pre-push hook — запускает локальные тесты перед каждым git push
|
||||
# Устанавливается через: git config core.hooksPath .githooks
|
||||
|
||||
ROOT="$(git rev-parse --show-toplevel)"
|
||||
FAILED=0
|
||||
|
||||
echo ""
|
||||
echo "══════════════════════════════════════════"
|
||||
echo " PRE-PUSH: запускаю локальные тесты"
|
||||
echo "══════════════════════════════════════════"
|
||||
|
||||
# ── 1. CSS-линтер ────────────────────────────────────────────
|
||||
echo ""
|
||||
echo " [1/2] CSS-линтер..."
|
||||
python -X utf8 "$ROOT/tests/lint_css.py"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo " ❌ CSS-линтер УПАЛ — исправь ошибки CSS перед пушем"
|
||||
FAILED=1
|
||||
else
|
||||
echo " ✅ CSS-линтер OK"
|
||||
fi
|
||||
|
||||
# ── 2. UI Playwright ─────────────────────────────────────────
|
||||
echo ""
|
||||
echo " [2/2] UI Playwright smoke..."
|
||||
node "$ROOT/tests/ui_smoke.js"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo " ❌ UI smoke УПАЛ — есть JS-ошибки в интерфейсе"
|
||||
FAILED=1
|
||||
else
|
||||
echo " ✅ UI smoke OK"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "══════════════════════════════════════════"
|
||||
|
||||
if [ $FAILED -ne 0 ]; then
|
||||
echo " ❌ PUSH ЗАБЛОКИРОВАН — исправь ошибки выше"
|
||||
echo " (чтобы пропустить: git push --no-verify)"
|
||||
echo "══════════════════════════════════════════"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo " ✅ Все тесты прошли — пушим"
|
||||
echo " ⚠️ Не забудь прогнать API-тесты: python -X utf8 tests/smoke_api.py"
|
||||
echo "══════════════════════════════════════════"
|
||||
echo ""
|
||||
exit 0
|
||||
Loading…
Reference in New Issue
Block a user