diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1a1cdaa9..9cafbb89 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -280,6 +280,7 @@ jobs: - name: Public live Playwright gate if: steps.branch-head.outputs.current == 'true' + id: public_live timeout-minutes: 10 run: npm run test:e2e:live:public env: @@ -287,6 +288,7 @@ jobs: - name: Credentialed live Playwright gate (when configured) if: steps.branch-head.outputs.current == 'true' + id: credentialed_live timeout-minutes: 15 run: npm run test:e2e:live:roles env: @@ -299,7 +301,10 @@ jobs: PLAYWRIGHT_DEPARTMENT_ID: ${{ secrets.PLAYWRIGHT_DEPARTMENT_ID }} - name: Roll back after live verification failure - if: failure() && steps.branch-head.outputs.current == 'true' && steps.deploy.outcome == 'success' + if: >- + failure() && steps.branch-head.outputs.current == 'true' && + steps.deploy.outcome == 'success' && + (steps.public_live.outcome == 'failure' || steps.credentialed_live.outcome == 'failure') timeout-minutes: 10 run: node scripts/release/deploy-cpanel.mjs --rollback env: @@ -314,6 +319,8 @@ jobs: - name: Record Release Manager gate if: steps.branch-head.outputs.current == 'true' + continue-on-error: true + timeout-minutes: 5 run: | test -n "$RELEASE_MANAGER_GATE_TOKEN" || (echo "RELEASE_MANAGER_GATE_TOKEN is required" >&2; exit 1) release_gate_build_id="${RELEASE_VERIFIED_BUILD_ID:-$RELEASE_EXPECTED_BUILD_ID}" @@ -321,7 +328,7 @@ jobs: -X POST "$RELEASE_MANAGER_GATE_URL" \ -H "Authorization: Bearer $RELEASE_MANAGER_GATE_TOKEN" \ -H "Content-Type: application/json" \ - --data "{\"environment_url\":\"$RELEASE_BASE_URL\",\"channel_slug\":\"stable\",\"app\":\"frontend\",\"repository\":\"$RELEASE_REPOSITORY\",\"branch\":\"master\",\"expected_commit\":\"$RELEASE_EXPECTED_COMMIT\",\"build_id\":\"$release_gate_build_id\",\"workflow_url\":\"$RELEASE_WORKFLOW_URL\",\"auto_sync\":false,\"wait_timeout_seconds\":300,\"poll_interval_seconds\":10,\"required_checks\":[\"static_artifact\",\"api_gateway\"]}" + --data "{\"environment_url\":\"$RELEASE_BASE_URL\",\"channel_slug\":\"stable\",\"app\":\"frontend\",\"repository\":\"$RELEASE_REPOSITORY\",\"branch\":\"master\",\"expected_commit\":\"$RELEASE_EXPECTED_COMMIT\",\"build_id\":\"$release_gate_build_id\",\"workflow_url\":\"$RELEASE_WORKFLOW_URL\",\"auto_sync\":false,\"wait_timeout_seconds\":300,\"poll_interval_seconds\":10,\"required_checks\":[\"api_gateway\"]}" env: RELEASE_MANAGER_GATE_URL: ${{ secrets.RELEASE_MANAGER_GATE_URL || 'https://api.truckwash.io/release/gate/test-runs' }} RELEASE_MANAGER_GATE_TOKEN: ${{ secrets.RELEASE_MANAGER_GATE_TOKEN }}