Public Quart microservice that runs pytest against shared/tests/ and shared/sexp/tests/, serving an HTMX-powered sexp-rendered dashboard with pass/fail/running status, auto-refresh polling, and re-run button. No database — results stored in memory. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
25 lines
589 B
Bash
Executable File
25 lines
589 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# No database — skip DB wait and migrations
|
|
|
|
# Clear Redis page cache on deploy
|
|
if [[ -n "${REDIS_URL:-}" && "${REDIS_URL}" != "no" ]]; then
|
|
python3 -c "
|
|
import redis, os
|
|
r = redis.from_url(os.environ['REDIS_URL'])
|
|
r.flushdb()
|
|
" || echo "Redis flush failed (non-fatal), continuing..."
|
|
fi
|
|
|
|
# Start the app
|
|
RELOAD_FLAG=""
|
|
if [[ "${RELOAD:-}" == "true" ]]; then
|
|
RELOAD_FLAG="--reload"
|
|
fi
|
|
PYTHONUNBUFFERED=1 exec hypercorn "${APP_MODULE:-app:app}" \
|
|
--bind 0.0.0.0:${PORT:-8000} \
|
|
--workers ${WORKERS:-1} \
|
|
--keep-alive 75 \
|
|
${RELOAD_FLAG}
|