scholarr/scripts/smoke_compose.sh
2026-02-17 20:24:12 +01:00

26 lines
765 B
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
export COMPOSE_PROJECT_NAME="${COMPOSE_PROJECT_NAME:-scholarr-smoke}"
export APP_PORT="${APP_PORT:-8000}"
export APP_HOST_PORT="${APP_HOST_PORT:-18000}"
cleanup() {
docker compose -f docker-compose.yml -f docker-compose.dev.yml down -v --remove-orphans
}
trap cleanup EXIT
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build
echo "Waiting for application health check..."
for _ in {1..45}; do
if curl -fsS "http://localhost:${APP_HOST_PORT}/healthz" >/dev/null; then
break
fi
sleep 2
done
curl -fsS "http://localhost:${APP_HOST_PORT}/healthz" >/dev/null
docker compose -f docker-compose.yml -f docker-compose.dev.yml run --rm app uv run pytest tests/smoke -m "integration and smoke"