feat(previews): run verification suites against the preview URL as a PR status #428
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
gmackie/ForgeGraph!428
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/preview-verification"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 3 of PR previews plus the fix for tonight's habitplay.io outage (both found/caused by the live proof).
Phase 3 — suites against the preview URL as a PR status
live(tickPreviews) → one verification run per active suite (#405 machinery) underpipelineNodeKey: "preview.verify", plus a pendingfg/preview-verifycommit status on the PR head. Enqueued at the live transition, NOT at agent report time — the custom domain isn't routable until it propagates (the agent report route now skipstrigger='preview'deployments for the same reason).baseUrlwith the preview hostname; runners already export it asFG_BETA_BASE_URL, so existing suites work against previews unchanged.fg/preview-verifystatus: fail-fastfailureon a required-suite failure,successwith the test tally once everything is terminal.Runs attach to the preview's own deployment id, so
betaVerificationGate/ promotion-path summaries (per-deployment) never see them.Domain-theft fix (habitplay.io outage, 2026-08-25 ~02:29 UTC)
wrangler attaches the config's routes/custom domains to whatever worker it uploads: the pr-23 preview deploy moved
habitplay.io+wwwontohabit-app-pr-23, and destroying that worker deleted the domains with it (~15 min outage; restored via POST /api/fg/dns/workers-domains →habit-app-router).--nameoverride where the config'snamediffers, striproute/routes(JSONC + TOML, per-env) from the wrangler config before deploying — the platform owns hostname attachment.destroyPreviewrefuses to delete a worker still serving hostnames other than the preview's own, and records which ones.24/24 preview tests, agent
cmd/agentsuite green, tsc clean. NOTE: the agent half needs the next agent release to take effect; until then the server guard alone protects production domains.🤖 Generated with Claude Code
https://claude.ai/code/session_01CMpzX1b6swjezEptw3T71f
680642bd08812469634fPreview environment is live: https://pr-428-forgegraph.forgegraf.com
Deployed
81246963with the beta stage's environment. It redeploys on every push and is destroyed when this PR closes.