steps: - name: prepare image: ghcr.io/astral-sh/uv:0.9-python3.12-alpine commands: - apk add --no-cache gcc python3-dev musl-dev linux-headers - uv sync - name: test image: ghcr.io/astral-sh/uv:0.9-python3.12-alpine commands: - uv sync --group dev - uv run pytest - name: test-run image: ghcr.io/astral-sh/uv:0.9-python3.12-alpine commands: - | python src/karl/__init__.py 2>&1 | while IFS= read -r line; do echo "$line" if echo "$line" | grep -q "Uvicorn running on"; then pkill -f "uvicorn" break fi done when: - event: [ push, manual ]