fix(issue-162): extract generateInvite test helper + harden CI smoke-test polling - #171
Open
luandro wants to merge 3 commits into
Open
fix(issue-162): extract generateInvite test helper + harden CI smoke-test polling#171luandro wants to merge 3 commits into
luandro wants to merge 3 commits into
Conversation
luandro
marked this pull request as ready for review
July 30, 2026 02:57
Contributor
|
Preview deployment ready: https://agent-comapeo-cloud-app-issu-1jme.comapeo-cloud-app.pages.dev Commit: |
The preview smoke test failed with "Expected 400 ... got 404" because it probed /api/info once, ~8s after "Deployment complete". Cloudflare Pages Functions take a few seconds to propagate; until they are live, /api/* falls through to the static 404 handler. A live probe minutes later returns the correct 400. Replace the single-shot probe with a poll that retries until the function answers 400, while still asserting the final status is exactly 400 (no suppression). Applied to the identical preview/staging/prod blocks; bumped those smoke jobs to a 5m timeout to absorb the worst-case poll. Co-Authored-By: Claude <noreply@anthropic.com>
Address frontier review on PR #171: - Add `|| true` to the curl status probe in all three smoke-test jobs (preview, staging, prod). Under GitHub Actions' default `bash -e`, a connection-level curl failure (DNS not ready / connection refused during Pages Function propagation) made the assignment exit non-zero and aborted the whole step before the retry loop could run. - Skip the sleep on the final attempt and emit an accurate 'giving up' message instead of a misleading 'retrying...', avoiding a wasted 10s/15s wait right before the hard failure. - Render an empty probe result as 'none' for readable logs. - Bump smoke-test-staging timeout 5 -> 6: it uses the longest curl retries (--retry 10 --retry-delay 15) plus the new 15s poll, so its worst-case wait exceeds the preview/prod jobs that were bumped 3 -> 5. Verified locally: loop survives simulated connection failures under set -e, reaches 400, and the all-fail path exits 1 after exactly 5 sleeps (no wasted final sleep). YAML validated. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Implements #162 via autonomous Pool pipeline.
This PR bundles two concerns:
generateInvitehelper in the SettingsScreen tests./api/infountil Cloudflare Pages Functions finish propagating before asserting the expected400, with smoke-test timeouts bumped accordingly.CI hardening (frontier review follow-up)
|| trueto the curl status probe in all three smoke-test jobs (preview, staging, prod). Under GitHub Actions' defaultbash -e, a connection-level curl failure (DNS not ready / connection refused during propagation) aborted the whole step before the retry loop could run.smoke-test-stagingtimeout 5 → 6 (it uses the longest curl retries plus the 15s poll, so its worst-case wait exceeds the preview/prod jobs bumped 3 → 5).Verification
bash -e: survives simulated connection failures, reaches 400, and the all-fail path exits 1 with no wasted final sleep. YAML validated.Closes #162