diff --git a/packaging/windows/push-build-inputs.sh b/packaging/windows/push-build-inputs.sh index 67ed665ea..cb13cd779 100755 --- a/packaging/windows/push-build-inputs.sh +++ b/packaging/windows/push-build-inputs.sh @@ -126,10 +126,17 @@ cat "${OUT%.zip}.json" if [ "$DEPLOY" = 1 ]; then echo "deploying $DLSITE" (cd "$DLSITE" && npx --yes vercel@latest --global-config "$HOME/.config/igneum/vercel" deploy --prod --yes 2>&1 | grep -v "$TOKEN" || true) + # the edge serves the previous file for a few seconds after "Aliased" (5 October 2026: the 0.3.6 job failed here + # on a sha256 that matched a moment later), so the check retries, as publish-jobs.sh does LIVE="$(mktemp)" - code="$(curl -s -o "$LIVE" -w '%{http_code}' "https://dl.igneum.network/dl/$TOKEN/build-inputs.sha256")" - echo "https://dl.igneum.network/dl//build-inputs.sha256 -> HTTP $code" - [ "$code" = 200 ] && [ "$(tr -d '[:space:]' < "$LIVE")" = "$SUM" ] || { echo "the live sha256 is not reachable or is not this zip's; check the deploy output" >&2; rm -f "$LIVE"; exit 1; } + ok=0 + for try in 1 2 3 4 5 6; do + code="$(curl -s -o "$LIVE" -w '%{http_code}' "https://dl.igneum.network/dl/$TOKEN/build-inputs.sha256")" + echo "https://dl.igneum.network/dl//build-inputs.sha256 -> HTTP $code (try $try)" + if [ "$code" = 200 ] && [ "$(tr -d '[:space:]' < "$LIVE")" = "$SUM" ]; then ok=1; break; fi + sleep 10 + done + [ "$ok" = 1 ] || { echo "the live sha256 is not reachable or is not this zip's after 6 tries; check the deploy output" >&2; rm -f "$LIVE"; exit 1; } rm -f "$LIVE" echo "live: build-inputs.zip verified by sha256" elif [ -n "$TOKEN" ]; then