From 63f1d91068ae0aacc22bd97618dbc9afd248eaad Mon Sep 17 00:00:00 2001 From: defiQUG Date: Tue, 28 Apr 2026 04:39:09 -0700 Subject: [PATCH] Treat Phoenix self-deploy restart as successful handoff --- .gitea/workflow-sources/deploy-to-phoenix.yml | 20 ++++++++++++++++++- .gitea/workflows/deploy-to-phoenix.yml | 20 ++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/.gitea/workflow-sources/deploy-to-phoenix.yml b/.gitea/workflow-sources/deploy-to-phoenix.yml index 753ee754..30cd7b0e 100644 --- a/.gitea/workflow-sources/deploy-to-phoenix.yml +++ b/.gitea/workflow-sources/deploy-to-phoenix.yml @@ -54,14 +54,30 @@ jobs: - name: Trigger Phoenix deployment run: | + set -euo pipefail SHA="$(git rev-parse HEAD)" BRANCH="$(git rev-parse --abbrev-ref HEAD)" - curl -sSf --retry 5 --retry-all-errors --retry-connrefused --retry-delay 10 --retry-max-time 300 \ + set +e + curl -sSf --retry 3 --retry-connrefused --retry-delay 10 --retry-max-time 180 \ --connect-timeout 10 --max-time 120 \ -X POST "${{ secrets.PHOENIX_DEPLOY_URL }}" \ -H "Authorization: Bearer ${{ secrets.PHOENIX_DEPLOY_TOKEN }}" \ -H "Content-Type: application/json" \ -d "{\"repo\":\"${{ gitea.repository }}\",\"sha\":\"${SHA}\",\"branch\":\"${BRANCH}\",\"target\":\"default\"}" + rc="$?" + set -e + if [ "$rc" -eq 52 ]; then + HEALTH_URL="${{ secrets.PHOENIX_DEPLOY_URL }}" + HEALTH_URL="${HEALTH_URL%/api/deploy}/health" + echo "Phoenix deploy API restarted during self-deploy; verifying ${HEALTH_URL}" + for i in $(seq 1 12); do + if curl -fsS --max-time 5 "$HEALTH_URL"; then + exit 0 + fi + sleep 5 + done + fi + exit "$rc" deploy-atomic-swap-dapp: needs: validate @@ -72,6 +88,7 @@ jobs: - name: Trigger Atomic Swap dApp deployment (Phoenix) run: | + set -euo pipefail SHA="$(git rev-parse HEAD)" BRANCH="$(git rev-parse --abbrev-ref HEAD)" curl -sSf --retry 5 --retry-all-errors --retry-connrefused --retry-delay 10 --retry-max-time 300 \ @@ -96,6 +113,7 @@ jobs: - name: Request Cloudflare DNS sync (Phoenix) run: | + set -euo pipefail SHA="$(git rev-parse HEAD)" BRANCH="$(git rev-parse --abbrev-ref HEAD)" curl -sSf --retry 5 --retry-all-errors --retry-connrefused --retry-delay 10 --retry-max-time 300 \ diff --git a/.gitea/workflows/deploy-to-phoenix.yml b/.gitea/workflows/deploy-to-phoenix.yml index 753ee754..30cd7b0e 100644 --- a/.gitea/workflows/deploy-to-phoenix.yml +++ b/.gitea/workflows/deploy-to-phoenix.yml @@ -54,14 +54,30 @@ jobs: - name: Trigger Phoenix deployment run: | + set -euo pipefail SHA="$(git rev-parse HEAD)" BRANCH="$(git rev-parse --abbrev-ref HEAD)" - curl -sSf --retry 5 --retry-all-errors --retry-connrefused --retry-delay 10 --retry-max-time 300 \ + set +e + curl -sSf --retry 3 --retry-connrefused --retry-delay 10 --retry-max-time 180 \ --connect-timeout 10 --max-time 120 \ -X POST "${{ secrets.PHOENIX_DEPLOY_URL }}" \ -H "Authorization: Bearer ${{ secrets.PHOENIX_DEPLOY_TOKEN }}" \ -H "Content-Type: application/json" \ -d "{\"repo\":\"${{ gitea.repository }}\",\"sha\":\"${SHA}\",\"branch\":\"${BRANCH}\",\"target\":\"default\"}" + rc="$?" + set -e + if [ "$rc" -eq 52 ]; then + HEALTH_URL="${{ secrets.PHOENIX_DEPLOY_URL }}" + HEALTH_URL="${HEALTH_URL%/api/deploy}/health" + echo "Phoenix deploy API restarted during self-deploy; verifying ${HEALTH_URL}" + for i in $(seq 1 12); do + if curl -fsS --max-time 5 "$HEALTH_URL"; then + exit 0 + fi + sleep 5 + done + fi + exit "$rc" deploy-atomic-swap-dapp: needs: validate @@ -72,6 +88,7 @@ jobs: - name: Trigger Atomic Swap dApp deployment (Phoenix) run: | + set -euo pipefail SHA="$(git rev-parse HEAD)" BRANCH="$(git rev-parse --abbrev-ref HEAD)" curl -sSf --retry 5 --retry-all-errors --retry-connrefused --retry-delay 10 --retry-max-time 300 \ @@ -96,6 +113,7 @@ jobs: - name: Request Cloudflare DNS sync (Phoenix) run: | + set -euo pipefail SHA="$(git rev-parse HEAD)" BRANCH="$(git rev-parse --abbrev-ref HEAD)" curl -sSf --retry 5 --retry-all-errors --retry-connrefused --retry-delay 10 --retry-max-time 300 \