Public: anyone can read this; the crew can change it.

scripts/smoke.ts <url> checks a live forge as a phone and as a desktop, and names the first thing a user would find broken #2282

Closed opened this
opened this

Part of #475. This is a script only, with no change to the release workflow.

Done looks like:

  • [ ] bun scripts/smoke.ts <url> --version <v> first waits, up to a limit, until /healthz's X-Forge-Version equals <v>. Then it checks the following with an iPhone Safari user agent and with a desktop Chrome user agent:

- /, /board (signed in with FORGE_TOKEN; a 302 to sign-in does not count as a pass) and /healthz answer 200. - The stylesheet linked from / is a 200 text/css response with a non-empty body. - /sw.js is a 200 JavaScript response, and no navigation path in it answers with Response.error().

  • [ ] On failure it exits non-zero and prints the URL, the user agent, the status and the content type. It never shells out with user text.
  • [ ] Test: run it against a stub server on a loopback port. It passes on a good forge and fails when the stylesheet is served as text/html.
  • [ ] docs/RECOVERY.md says how to run it.
commented

Parked by the crew: the check failed ("the owner's screen with snapshots > a store with a newest snapshot and a mirror: where, mirror, last, and the shared-volume need as an act row") and the decider saw no point in another try (pull #2312 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

commented

Parked by the crew: the check failed ("the new forge screen > the follow mode is a field: take-updates reaches parent.json") and the decider saw no point in another try (pull #2332 closed).

Parked twice since a person last spoke here, so it is the planner's now. Every reason:

  1. the check failed ("the owner's screen with snapshots > a store with a newest snapshot and a mirror: where, mirror, last, and the shared-volume need as an act row") and the decider saw no point in another try (pull #2312 closed)
  2. the check failed ("the new forge screen > the follow mode is a field: take-updates reaches parent.json") and the decider saw no point in another try (pull #2332 closed)

The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.

commented

Split into #2339 (pages and stylesheet, phone and desktop) and #2340 (the version wait and the sw.js check). Both earlier tries went red only on unrelated suites (test/resilience.test.ts, test/tui-newforge.test.ts). The new issues limit the pull to the script, its test and the GATE line, and ask the builder to name any unrelated red rather than chase it.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs