ci: run smoke test via SSH from host for reliable DNS
CI/CD / deploy (push) Failing after 1m4s
Details
CI/CD / deploy (push) Failing after 1m4s
Details
Runner container can't always resolve Cloudflare-tunneled domains. Run curl from host via SSH instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
4e9a2f1ac2
commit
fd8707a16c
|
|
@ -49,15 +49,17 @@ jobs:
|
||||||
|
|
||||||
- name: Smoke test
|
- name: Smoke test
|
||||||
run: |
|
run: |
|
||||||
sleep 10
|
sleep 15
|
||||||
HTTP_CODE=$(curl -sS -o /dev/null -w "%{http_code}" --max-time 15 https://ebb-staging.jeffemmett.com/ 2>/dev/null || echo "000")
|
HTTP_CODE=$(ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key root@${{ secrets.DEPLOY_HOST }} \
|
||||||
if [ "$HTTP_CODE" != "200" ]; then
|
"curl -sSL -o /dev/null -w '%{http_code}' --max-time 30 https://ebb-staging.jeffemmett.com/ 2>/dev/null || echo 000")
|
||||||
echo "Smoke test failed — rolling back"
|
if [ "$HTTP_CODE" -lt 200 ] || [ "$HTTP_CODE" -ge 400 ]; then
|
||||||
|
echo "Smoke test failed (HTTP $HTTP_CODE) — rolling back"
|
||||||
ROLLBACK_TAG=$(ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key root@${{ secrets.DEPLOY_HOST }} "cat /opt/websites/ebb-n-flow-website/.rollback-tag 2>/dev/null")
|
ROLLBACK_TAG=$(ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key root@${{ secrets.DEPLOY_HOST }} "cat /opt/websites/ebb-n-flow-website/.rollback-tag 2>/dev/null")
|
||||||
if [ -n "$ROLLBACK_TAG" ]; then
|
if [ -n "$ROLLBACK_TAG" ]; then
|
||||||
ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key root@${{ secrets.DEPLOY_HOST }} \
|
ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key root@${{ secrets.DEPLOY_HOST }} \
|
||||||
"cd /opt/websites/ebb-n-flow-website && IMAGE_TAG=$ROLLBACK_TAG docker compose up -d --no-build"
|
"cd /opt/websites/ebb-n-flow-website && IMAGE_TAG=$ROLLBACK_TAG docker compose up -d --no-build"
|
||||||
|
echo "Rolled back to $ROLLBACK_TAG"
|
||||||
fi
|
fi
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "Smoke test passed"
|
echo "Smoke test passed (HTTP $HTTP_CODE)"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue