Treat Cloudflare error 1014 as 'channel not published yet'
A push-triggered first deploy cannot set the first_deploy input, and the domain answers 403/1014 until the Pages project exists. 1014 means nothing exists to preserve, so handle it like a 404. Other 403s still abort. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JdMNbY5hLR7FjtfEE712xG
This commit is contained in:
@@ -38,6 +38,12 @@ fi
|
|||||||
# failure must stop the deploy rather than silently dropping that channel.
|
# failure must stop the deploy rather than silently dropping that channel.
|
||||||
code="$(curl -sS -o "$out/$other/latest.json" -w '%{http_code}' "$base/$other/latest.json" || true)"
|
code="$(curl -sS -o "$out/$other/latest.json" -w '%{http_code}' "$base/$other/latest.json" || true)"
|
||||||
: "${code:=000}"
|
: "${code:=000}"
|
||||||
|
# Cloudflare error 1014 (403 + "error code: 1014") means the domain's CNAME
|
||||||
|
# points at a Pages project that does not exist yet, so there is nothing to
|
||||||
|
# preserve — the same as a 404, and what a push-triggered first deploy sees.
|
||||||
|
if [ "$code" = 403 ] && grep -q 'error code: 1014' "$out/$other/latest.json" 2>/dev/null; then
|
||||||
|
code=404
|
||||||
|
fi
|
||||||
if [ "$code" = 404 ]; then
|
if [ "$code" = 404 ]; then
|
||||||
echo "No $other channel published yet; skipping."
|
echo "No $other channel published yet; skipping."
|
||||||
rm -rf "$out/$other"
|
rm -rf "$out/$other"
|
||||||
|
|||||||
Reference in New Issue
Block a user