| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-08-12 | 3.4 kB | |
| v0.6.0 source code.tar.gz | 2026-08-12 | 841.9 kB | |
| v0.6.0 source code.zip | 2026-08-12 | 950.4 kB | |
| Totals: 3 Items | 1.8 MB | 8 | |
Added
- CI-native output now covers single-run
--waitand batch rerun.--gh-output/--summary-file(contributed in community PR [#264] fortest run --all --wait) now also work ontest run <id> --waitandtest rerun --all --wait, so a CI job that runs one test or reruns a batch gets the same::error::annotations and machine summary as a fresh batch — written right after the JUnit report on the rerun path. The summary and annotations land even when the command exits non-zero, the emit is best-effort (a sink write failure such as EPIPE can never change the command's exit code), and non-dispatched work — rate-deferred, conflicted, or not-found tests — is folded into the summary as non-passed rows, so a partial batch can never read as "all passed". Workflow-command data and job-summary table cells are escaped: a multiline run error cannot inject::commandsinto the Actions stream or break the summary table. --target-urlnow warns when it cannot apply (V3 path). On a V3-routed account,test run --target-urlis validated server-side and then discarded — V3 resolves the run's environment at execution time, so there is no per-run override. The CLI now makes a bounded, best-effort account check (only when the flag was supplied) and prints a stderr[advisory]that the flag will not take effect;test create-batch --runfires the same advisory once before the fan-out. It fires in every--outputmode — JSON/CI is exactly the unattended case that needs it — and can never affect stdout or the exit code.
Fixed
- Create paths prefer the server's dashboard link and never print a dead one.
test create/test create-batch/--plan-fromcomputed the PortaldashboardUrlentirely client-side in the legacy route shape, which 404s for a V3-native create. A server-provideddashboardUrlon the create response now wins, under the same three-state contract the run paths use: a string is used verbatim;nullmeans the server looked and there is no correct link, so an[advisory]points attest get <id>instead of printing a URL that would 404; only an absent field (an older backend) falls back to the client computation. The decision is resolved once at create time and reused verbatim by the--runfan-out, andtest create --runin text mode prints the server link again (itsDashboard:line had been dropped in the delegation to the run renderer). - Best-effort pre-flight lookups can no longer stall a real command behind a rate limit. The duplicate-name advisory's 5-second deadline bounded the fetch but not the retry sleep, so a 429 carrying a long
Retry-Aftercould park an otherwise-healthytest createbehind an advisory; the same applied to the--target-urlaccount check. Both lookups now skip rate-limit retries entirely — a throttled advisory is dropped, never waited on. - Long
--waitsessions no longer accumulate abort-signal churn. Every poll iteration and every HTTP attempt composed a fresh abort signal against the process-lifetime shutdown signal, registering finalization-tracked dependents by the hundreds of thousands over a large batch — measured as multi-second stalls during engine cleanup passes. The poll loop now reuses one controller per session and the HTTP layer composes signals manually with listeners it removes synchronously; timeout, Ctrl-C, and retry behavior are unchanged.