From b60349068381d0c50e5be65edd08a5db5e335bca Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Wed, 11 Mar 2026 21:37:56 +0100 Subject: [PATCH] fix(ci): add diagnostic logging and increase migration retries --- .gitea/workflows/deploy.yml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index d58cf86..ced1945 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -341,11 +341,24 @@ jobs: # Apply Payload Migrations using the target app container's programmatic endpoint ssh root@alpha.mintel.me "cd $SITE_DIR && echo '→ Waiting for DB and Running Payload Migrations...' && \ - for i in {1..10}; do \ + for i in {1..15}; do \ echo \"Attempt \$i...\"; \ - docker compose -p '${{ needs.prepare.outputs.project_name }}' --env-file '$ENV_FILE' exec -T mb-grid-app sh -c 'curl -s -f -X POST -H \"Authorization: Bearer \$PAYLOAD_SECRET\" http://localhost:3000/api/payload/migrate \ - || { echo \"HTTP error or DB not ready.\"; exit 1; }' && { echo '✅ Migrations successful!'; break; } \ - || { if [ \$i -eq 10 ]; then echo '❌ Migration failed after 10 attempts!'; exit 1; else echo '⏳ Retrying in 5s...'; sleep 5; fi; }; \ + docker compose -p '${{ needs.prepare.outputs.project_name }}' --env-file '$ENV_FILE' exec -T mb-grid-app sh -c 'curl -s -i -X POST -H \"Authorization: Bearer \$PAYLOAD_SECRET\" http://localhost:3000/api/payload/migrate' > /tmp/migrate_res 2>&1; \ + if grep -q \"200 OK\" /tmp/migrate_res; then \ + echo \"✅ Migrations successful!\"; \ + cat /tmp/migrate_res; \ + break; \ + else \ + echo \"❌ Attempt \$i failed. Response:\"; \ + cat /tmp/migrate_res; \ + if [ \$i -eq 15 ]; then \ + echo \"❌ Migration failed after 15 attempts! Dumping app logs...\"; \ + docker compose -p '${{ needs.prepare.outputs.project_name }}' --env-file '$ENV_FILE' logs --tail 100 mb-grid-app; \ + exit 1; \ + fi; \ + echo \"⏳ Retrying in 5s...\"; \ + sleep 5; \ + fi; \ done" ssh root@alpha.mintel.me "docker system prune -f --filter 'until=24h'"