groupe-meditation/scripts/validate.sh

41 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT"
mkdir -p .tmp/ansible-local .tmp/ansible-remote
export ANSIBLE_LOCAL_TEMP="$ROOT/.tmp/ansible-local"
export ANSIBLE_REMOTE_TEMP="$ROOT/.tmp/ansible-remote"
echo "== Python syntax =="
python3 -m py_compile $(find backend/app deploy -name '*.py' -print)
echo "== Backend tests =="
if [ -x ".venv/bin/python" ]; then
.venv/bin/python -m pytest backend/tests
else
python3 -m pytest backend/tests
fi
echo "== Frontend build =="
(cd frontend && npm run build)
if [ "${SKIP_E2E:-0}" = "1" ]; then
echo "== Playwright E2E =="
echo "SKIP_E2E=1; tests navigateur ignorés."
else
echo "== Playwright E2E =="
(cd frontend && npm run e2e)
fi
if command -v ansible-playbook >/dev/null 2>&1; then
echo "== Ansible syntax =="
ansible-playbook ansible/site.yml --syntax-check
ansible-playbook ansible/verify.yml --syntax-check
ansible-playbook ansible/backup-now.yml --syntax-check
else
echo "== Ansible syntax =="
echo "ansible-playbook introuvable; syntax-check ignoré."
fi
echo "Validation locale terminée."