50 lines
1.7 KiB
Bash
50 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$ROOT"
|
|
if [ -n "${PYTHON_BIN:-}" ]; then
|
|
PYTHON_BIN="${PYTHON_BIN}"
|
|
else
|
|
PYTHON_BIN=""
|
|
for candidate in python3 python.exe python; do
|
|
if command -v "${candidate}" >/dev/null 2>&1 && "${candidate}" -c "import sys, pytest" >/dev/null 2>&1; then
|
|
PYTHON_BIN="${candidate}"
|
|
break
|
|
fi
|
|
done
|
|
if [ -z "${PYTHON_BIN}" ]; then
|
|
for candidate in python3 python.exe python; do
|
|
if command -v "${candidate}" >/dev/null 2>&1 && "${candidate}" -c "import sys" >/dev/null 2>&1; then
|
|
PYTHON_BIN="${candidate}"
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
fi
|
|
if [ -z "${PYTHON_BIN}" ]; then
|
|
echo "No usable python interpreter found" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "== GeoIntel run readiness check =="
|
|
echo "Using Python: ${PYTHON_BIN}"
|
|
bash scripts/check_repo_structure.sh
|
|
${PYTHON_BIN} scripts/smoke_docs.py
|
|
${PYTHON_BIN} scripts/validate_fixtures.py
|
|
${PYTHON_BIN} scripts/smoke_contracts.py
|
|
${PYTHON_BIN} scripts/preimplementation_audit.py
|
|
${PYTHON_BIN} scripts/validate_m13_codex_assets.py
|
|
${PYTHON_BIN} scripts/validate_m14_launch_assets.py
|
|
${PYTHON_BIN} -m py_compile scripts/gis_import_smoke.py
|
|
${PYTHON_BIN} -m py_compile scripts/seed_demo_workflow.py
|
|
${PYTHON_BIN} -m compileall backend/app
|
|
(cd backend && ${PYTHON_BIN} -m pytest -W error::DeprecationWarning)
|
|
(cd backend && ${PYTHON_BIN} -m alembic heads)
|
|
(cd frontend && npm run typecheck)
|
|
(cd frontend && npm run build)
|
|
bash -n scripts/live_migration_smoke.sh
|
|
bash -n scripts/verify_browser_runtime.sh
|
|
bash -n scripts/verify_demo_export_workflow.sh
|
|
bash -n scripts/verify_gis_runtime.sh
|
|
echo "== Run readiness check passed =="
|