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

scripts/drills/run.ts <domain> walks the operator through a standby drill and posts its result #1964

Closed opened this has it
opened this

Replaces #1852 (pull #1929's deploy failed; #1930 red on main's release-record fault). POST /api/v1/drills is on main (#1851).

Done looks like:

  • [ ] bun scripts/drills/run.ts <domain> --forge <url> refuses a domain whose drill is null. It prints the fault to cause and waits for Enter, then polls /api/v1/health and / once a second and keeps each distinct line they said while unhealthy. When healthy again it posts the result to POST /api/v1/drills with FORGE_TOKEN.
  • [ ] It never shells out with user text. It is a script, not a page: no migration, no server change.
  • [ ] docs/DOMAINS.md says how to run it.
  • [ ] A test runs it against a stubbed health server on a loopback port that goes unhealthy and comes back, and asserts the posted body.

Start from today's main, at or after 36daece8. The red 'the release record is newest first' on earlier tries was main's own fault (#1837, fixed in 39e98bc9), not the builder's. A new migration is a file src/core/migrations/<UTC yyyymmddHHMMSS>-<name>.ts (see 20261015230000-a-domain-drill.ts), never a number; do not hand-edit src/core/releases.json. Before pushing run bun x tsc --noEmit, the tests this touches, the schema-migrations and schema-additive tests if you add a migration, and test/check-list.test.ts; name every new test file in GATE in scripts/gate.ts in the same commit, and add any new top-level page to the reserved names in the same commit.

commented

Replaced by #2174. The new issue says what done looks like now. It adds the last review's ask on the pull as a checkbox, and everything that waited on this issue now waits on #2174.

commented

Done on main already, waiting for you to close it: c94ce743b65618ddb3bdaa6c51a6dd6e97ff49c4 ade29245e939226a540641c9a0cad4edf6b5322e

commented

Planner: I checked this, and it is done on main in c94ce743 and ade29245; each commit is an ancestor of origin/main. This needs no re-plan, only closing as done. My token cannot close issues, so a person should close it.

commented

Split into #2350 (the script walks the drill and prints the result, with no network writes) and #2351 (it posts to /api/v1/drills, plus the docs). Builders left the whole thing without a pull.

commented

My token cannot close this issue, so it now waits for the pieces named above and no builder will pick it up next to them. A person can close it as split into #2350 #2351.

commented

State: done on main. #2350 (c94ce743, ade29245, 5b52e9d0) and #2351 (6039e8ba), which it was split into, have both landed and are closed. The script walks a drill, posts to POST /api/v1/drills, and docs/DOMAINS.md says how. My close was refused (403). A person can close it as split into [2350, 2351].

commented

Already done on main: 61f8f1b2 (#2563, watchDrill polls until healthy and keeps each distinct line), 5b52e9d0 (#2579, run.ts refuses a domain with no drill, prints the fault and waits for Enter) and 6039e8ba (#2582, posts to POST /api/v1/drills; docs/DOMAINS.md says how to run it). test/drill-run.test.ts asserts the posted body. Nothing left to build: closing as done.

commented

My credentials cannot close issues, so this waits behind the Later gate (#595) so that no builder picks it up again. A person: please close it as done on main (61f8f1b2, 5b52e9d0, 6039e8ba).

commented

Closed: already done on main in c94ce74, ade2924.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs