Repository navigation
v0.13.0
Kinora 0.13.0
This release lets every shard of a sharded run upload on its own, and kinora assembles them into one run. A run missing shards says so, instead of reading as green.
Sharded runs
- Each shard uploads directly: no blob reports to move, no merge job. kinora groups the shards of one CI run (
GITHUB_RUN_IDon GitHub Actions,CI_PIPELINE_IDon GitLab CI, orKINORA_GROUP_KEY) into a single run, with every test and trace. The shard count comes from Playwright or Vitest, nothing to configure. - A run still missing shards shows "2 of 4 shards" in the run table, on the run page and in the overview, never a health. After two hours it is closed as "Incomplete", and alerts fire then. A late shard still completes it. Self-host: set the delay with
KINORA_SHARD_TIMEOUT_MINUTES. - Re-running a failed shard (GitHub's "Re-run failed jobs", a GitLab job retry) fills its slot again instead of adding a run. A test that failed on the first attempt and passes on the re-run is kept as flaky, so the re-run does not hide it. Re-run results are not counted again in your usage, and a re-run is never turned away by the free plan's result limit.
- The PR comment updates as each shard lands ("2 of 4 shards landed"), then shows the whole run, and marks the tests that only passed on a re-run. Slack, email and webhook alerts for an incomplete run say how many shards landed (
incomplete: { landed, total }in the webhook body), and theon-failurepolicy fires on one. - The CLI and the Vitest reporter group sharded runs too.
kinora uploadreads the shard from the Playwright JSON report (new flags--group-keyand--no-group), and@kinora/vitest-reporterreads it from--shard(newgroupKeyoption). A Vitest shard with no browser test still uploads, empty, so the run can complete. - The ingest API accepts
groupKey,attemptandshardonPOST /api/v1/runs, and returns the run'sstatusandshardProgress. See the API reference. - Needs
@kinora/reporter0.11.0,@kinora/cli0.11.0 or@kinora/vitest-reporter0.3.0, and a server on 0.13.0 for the Vitest reporter (self-host: upgrade the server first). Older versions, and the blob report +merge-reportssetup, work as before. See Sharded runs.
Dashboard
- A trace deleted by your retention settings now shows as expired on the run page, instead of a link that no longer opens.
- The Analytics charts no longer misplace the crosshair, and the page no longer fails for browsers that report legacy time zone names (
Asia/Calcutta,Europe/Kiev). - Traces recorded with Playwright 1.64.1 open in the trace viewer.
Self-hosting
- New setting
KINORA_SHARD_TIMEOUT_MINUTES(default 120): how long a sharded run waits for its missing shards before it is closed as incomplete. - In production the server logs JSON, with a request id on every line.
- The server keeps running when Postgres drops idle connections, for example after a restart.
/healthcheckreturns the status of each service, without error details.- Internal error messages are no longer sent to dashboard clients in production.