diff --git a/.github/actions/trigger-coolify-deploy/action.yml b/.github/actions/trigger-coolify-deploy/action.yml index 39ad8f8..85e161c 100644 --- a/.github/actions/trigger-coolify-deploy/action.yml +++ b/.github/actions/trigger-coolify-deploy/action.yml @@ -268,7 +268,7 @@ runs: raw=$(trigger_deploy) http_code=$(printf '%s' "$raw" | tail -1) response=$(printf '%s' "$raw" | sed '$d') - if [ "$http_code" -ge 200 ] && [ "$http_code" -lt 300 ]; then + if [ "$http_code" -ge 200 ] && [ "$http_code" -lt 300 ] && printf '%s' "$response" | jq -e '.deployments[0].deployment_uuid' >/dev/null 2>&1; then break fi if printf '%s' "$response" | grep -qi "not found"; then diff --git a/CHANGELOG.md b/CHANGELOG.md index d2f52cf..361bd66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,6 +52,10 @@ All contributors (including maintainers) should update `CHANGELOG.md` when creat ## [Unreleased] +### Fixed + +- **trigger-coolify-deploy**: the PR-preview deploy trigger's retry loop now also retries when Coolify returns HTTP 200 with a "not found" error embedded in the JSON body (no `deployment_uuid`) instead of a non-2xx status. Previously this broke out of the retry loop on the first attempt and hard-failed instead of retrying for up to `PREVIEW_NOT_FOUND_TIMEOUT_SECONDS` while the preview resource was still being provisioned. + ## [4.3.3] - 2026-09-15 ### Fixed