41 lines
1.5 KiB
Bash
Executable File
41 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ---------------------------------------------------------------------------
|
|
# run_after_fix.sh — VALIDAÇÃO PADRÃO PÓS-CORREÇÃO (G-ART)
|
|
#
|
|
# Sempre que qualquer correção de código for concluída, o sistema é
|
|
# automaticamente executado/validado rodando ESTE script. Ele garante que o
|
|
# lint passa com zero erros e que toda a suíte de testes passa antes de
|
|
# qualquer commit. Se falhar, corrija antes de prosseguir.
|
|
#
|
|
# Uso:
|
|
# ./Engine/run_after_fix.sh
|
|
#
|
|
# Requer: uv (veja pyproject.toml). Roda a partir de QUALQUER diretório.
|
|
# ---------------------------------------------------------------------------
|
|
set -euo pipefail
|
|
|
|
# Resolve o diretório raiz do repositório (pai da pasta Engine).
|
|
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$REPO_ROOT"
|
|
|
|
echo ""
|
|
echo "==> [G-ART] Validação pós-correção iniciada..."
|
|
echo " Diretório: $REPO_ROOT"
|
|
echo ""
|
|
|
|
echo "==> 1/2 Lint (ruff) — deve passar com ZERO erros"
|
|
# A flag --exclude sobrescreve o exclude declarado em pyproject.toml
|
|
# (que já ignora docs/ e WHISPERX/). Rode sem flag para herdar a config.
|
|
uv run ruff check .
|
|
echo " Lint OK ✓"
|
|
echo ""
|
|
|
|
echo "==> 2/2 Testes (pytest) — todos devem passar"
|
|
uv run pytest tests/ -v
|
|
echo ""
|
|
|
|
echo "=========================================================="
|
|
echo " TUDO OK ✓"
|
|
echo " O sistema passou na validação padrão pós-correção."
|
|
echo " Agora você pode commitar com segurança."
|
|
echo "==========================================================" |