Skip to content

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 16:34

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_ID on GitHub Actions, CI_PIPELINE_ID on GitLab CI, or KINORA_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 the on-failure policy fires on one.
  • The CLI and the Vitest reporter group sharded runs too. kinora upload reads the shard from the Playwright JSON report (new flags --group-key and --no-group), and @kinora/vitest-reporter reads it from --shard (new groupKey option). A Vitest shard with no browser test still uploads, empty, so the run can complete.
  • The ingest API accepts groupKey, attempt and shard on POST /api/v1/runs, and returns the run's status and shardProgress. See the API reference.
  • Needs @kinora/reporter 0.11.0, @kinora/cli 0.11.0 or @kinora/vitest-reporter 0.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-reports setup, 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.
  • /healthcheck returns the status of each service, without error details.
  • Internal error messages are no longer sent to dashboard clients in production.