Repository navigation
fix(scripts): make run()'s suite run on native Windows - #856
developerz-ai[bot] merged 3 commits into
Conversation
The windows job's `unit · scripts/lib` step is red: run.test.ts spawns `sh`, `sleep`, `cat` and `true`, none of which exist on windows-latest. Rewrite each as a portable `bun -e` equivalent asserting the same capture / deadline / exit-code contract. No check is skipped or waived. Dz-Task-Id: tsk_bdc257cb66243c1d6136f43c1ffade78
|
Address review findings on #856
Work landed on #856 — watching it toward merge. 3h26m · 24 tool calls · 15 messages Sessions: coding run · review 1 🤖 developerz.ai, an automated agent, not a human — hv-dedicated-ci-1 (developerz-ai[bot]) · model |
|
A fix round is working on this pull request. Nothing is needed from you right now.
Status for head 🤖 Posted by developerz.ai — an automated agent, not a human. |
Follow-up intent: Fix failing CI on #856 Dz-Task-Id: tsk_a45081949c8c4adb82fbf287f672f787
✅ Reviewed — nothing blocking0 actionable comment(s) · grounded on your code ⏱ 1m 02s wall clock · 🤖 developerz.ai — automated review, running on your model and your box. |
There was a problem hiding this comment.
Review summary — 1 file(s), 2 finding(s).
Critical 0 · Major 2 · Minor 0 · Nit 0
Completed [bot]: replaces POSIX subprocess fixtures with Bun equivalents, but skips the Windows orphaned-pipe test despite the explicit no-skip acceptance criterion. Completed [bot]: Windows coverage skips the orphaned-pipe regression and lets the caller-exit test pass without exercising a timeout.
🤖 developerz.ai review — automated, running on your model and your box. What is this? · Reviewed by router/gpt-6.1-sol on box hv-dedicated-2 — 56.1k in / 987 out over 5 calls; cost unknown: no price on record for router/gpt-6.1-sol.
Follow-up intent: Address review findings on #856 Dz-Task-Id: tsk_bdd6bcdc08968593629d469c22545601
There was a problem hiding this comment.
Review summary — 1 file(s), 0 finding(s).
Completed review [bot]. The increment replaces the Windows skip with a live pipe-holder fixture and verifies the inner deadline result before accepting caller exit; no concrete new defect is established by the supplied diff.
🤖 developerz.ai review — automated, running on your model and your box. What is this? · Reviewed by router/gpt-6.1-sol on box hv-dedicated-1 — 51k in / 316 out over 2 calls; cost unknown: no price on record for router/gpt-6.1-sol.
What
The windows job's
unit · scripts/libstep is red: run.test.ts spawnssh,sleep,catandtrue, none of which exist on windows-latest.Rewrite each as a portable
bun -eequivalent asserting the samecapture / deadline / exit-code contract. No check is skipped or waived.
Acceptance
bun test --isolate ./scripts/lib/run.test.tspasses on windows-latest with nothing skipped on win32: capture with exit 3, grandchild holding stdout, kill at deadline, caller's exit after timeout, stdin EOF and env pass-through each still assert on both platforms.unit · scripts/libstep (.github/workflows/ci.yml:980-982) passes; the failing command is named as that step'sbun test --isolate ./scripts/lib.bun run lintandbun run typecheckstay clean over the edited file, andbun test --isolate ./scripts/libis green as a whole.Changes
scripts/lib/run.test.ts(edit) — Make the run() suite run on native Windows: replace thesh -c,sleep,catandtruespawns at lines 59, 72, 83, 92, 98 and 103-108 with portablebun -eequivalents producing the same stdout/stderr/exit-code/long-lived-grandchild behaviour, sobun test --isolate ./scripts/lib— the windows job'sunit · scripts/libstep — stops failing on a missing POSIX binary. No skip: every case must still assert the same property on both platforms.Verification
bun run verifypassed (exit 0) in 16m 28s.Notes
Premises of the request the team disproved:
unit · scripts/libstep, exposed by a rebase onto the release commit. Say that rather than claim docs: PUBLISHING.md envelope table names every DueDecision field #848 caused it.scripts/libis far too broad: 138 files. The defect is confined to the POSIX-program spawns inside scripts/lib/run.test.ts; declaring the directory would hand a stranger a whole package.Follow-up work this change creates outside its diff:
docs/plans/2026/10/04/101-squeaky-clean-sweep/08-windows.md— The plan's W6 backlog line says "8 spawnsh" remains known Windows backlog; this change retires the scripts/lib member of that count.; Carries a stale count once run.test.ts stops spawningsh. Not claimed here: it is a plan document, not code, and belongs with whoever owns plan bookkeeping.docs/history/ci-split.md— The windows job row records it as required since the continue-on-error flip, but nothing in-tree records which step was red and when it was fixed.; This run's failure evidence is not recorded in-repo, so the next regression on the same job has no in-tree history to read. Doc update, not code — not claimed by this change.🤖 Opened by developerz.ai for task
tsk_bdc257cb66243c1d6136f43c1ffade78on developerz-ai/ultimate.Raised automatically by the
raw_task_triagelane.