ci: rename ssh workflow and enforce web/scheduler runtime checks

This commit is contained in:
Nico 2026-02-22 01:51:31 -08:00
parent 52af2a755c
commit 8495fe5f1f

View File

@ -85,14 +85,45 @@ jobs:
ssh "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}" \ ssh "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}" \
"cd '$DEPLOY_PATH' && IMAGE_TAG='$IMAGE_TAG' docker compose pull && IMAGE_TAG='$IMAGE_TAG' docker compose up -d --remove-orphans && docker image prune -f" "cd '$DEPLOY_PATH' && IMAGE_TAG='$IMAGE_TAG' docker compose pull && IMAGE_TAG='$IMAGE_TAG' docker compose up -d --remove-orphans && docker image prune -f"
- name: Verify Web and Scheduler Are Running
run: |
set -euo pipefail
ssh "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}" "DEPLOY_PATH='$DEPLOY_PATH' bash -s" << 'EOF'
set -euo pipefail
cd "$DEPLOY_PATH"
web_id="$(docker compose ps -q web)"
scheduler_id="$(docker compose ps -q scheduler)"
if [ -z "$web_id" ]; then
echo "web service container not found"
exit 1
fi
if [ -z "$scheduler_id" ]; then
echo "scheduler service container not found"
exit 1
fi
web_running="$(docker inspect -f '{{.State.Running}}' "$web_id")"
scheduler_running="$(docker inspect -f '{{.State.Running}}' "$scheduler_id")"
if [ "$web_running" != "true" ]; then
echo "web service is not running"
exit 1
fi
if [ "$scheduler_running" != "true" ]; then
echo "scheduler service is not running"
exit 1
fi
EOF
- name: Wait for Ready Health Check - name: Wait for Ready Health Check
env: env:
HEALTH_URL: ${{ secrets.DOKPLOY_HEALTHCHECK_URL }} HEALTH_URL: ${{ secrets.DEPLOY_HEALTHCHECK_URL }}
MAX_ATTEMPTS: "30" MAX_ATTEMPTS: "30"
SLEEP_SECONDS: "10" SLEEP_SECONDS: "10"
run: | run: |
if [ -z "$HEALTH_URL" ]; then if [ -z "$HEALTH_URL" ]; then
echo "Missing DOKPLOY_HEALTHCHECK_URL secret" echo "Missing DEPLOY_HEALTHCHECK_URL secret"
exit 1 exit 1
fi fi
bash scripts/wait-for-health.sh bash scripts/wait-for-health.sh