Skip to content

feat(ci): adds to the GitHub QA Dashboard another dimension crossing flakies & failures#778

Merged
daniel-herrero merged 4 commits into
mainfrom
dherrero/piweek/qa-dashboard-flakies
Jul 17, 2026
Merged

feat(ci): adds to the GitHub QA Dashboard another dimension crossing flakies & failures#778
daniel-herrero merged 4 commits into
mainfrom
dherrero/piweek/qa-dashboard-flakies

Conversation

@daniel-herrero

@daniel-herrero daniel-herrero commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Done Definition Checks

Taiga URL

Taiga Ticket: 1623

Description

This PR adds a second dimension to the GitHub QA Dashboard from #772: cross-referencing the automated regression suite against which of those tests are actually reliable in CI.

What problem are you trying to solve?

The coverage-vs-bugs dashboard answers "do we have a test here?" but not "can we trust it?" — a flaky or chronically-failing test inflates the automated-coverage numbers without actually giving the confidence those numbers imply. There was also no easy way to see, at a glance, which regression tests are the noisiest/most prone to false failures, even though that data effectively already existed in the daily Playwright results.json reports — it just wasn't being aggregated or surfaced anywhere.

Solution

How did you solve the problem?

  • flaky-tally.ts — dependency-free script that walks a Playwright results.json, extracts the Qase ID for every test that flaked or failed (same annotation/title parsing as triage.ts), and merges the day's occurrences into a rolling flaky-history.json aggregate. Only tests that actually flaked or failed get an entry, so the file stays proportional to the tests that are a problem, not the full Qase inventory; occurrences older than the (default 30-day) window are dropped on every merge.
  • playwright_pre_daily.yml — new "Update flaky-test history" step runs flaky-tally.ts right after each daily run, pulling/pushing flaky-history.json to s3://kaleidos-qa-reports/ (public GET, no credentials needed to read it back).
  • github_dashboard.ts — fetches that aggregate and joins it against the regression tests by Qase ID (buildReliabilityRows), writing a new flaky-tests.csv and a reliability block in the dashboard's data payload. Default sort is most-failed-first, ties broken by most-flaky.
  • dashboard_template.html — new "Test reliability" section: click-to-sort columns, a KPI tile, and a "Last seen" link straight to that occurrence's run report (best-effort — raw run reports expire off S3 after ~10 days, so older links may 404).

How to test

  • Check the code
  • It complies with the test conventions
  • Run the dashboard locally (QASE_TOKEN=... GITHUB_TOKEN=... npx tsx scripts/github-dashboard/github_dashboard.ts) and confirm the "Test reliability" section renders with real data
  • Confirm sorting works on every column, and that "Last seen" links to a live (or gracefully-expired) run report
  • Optionally run github-dashboard.yml manually against this branch with s3_prefix: github-dashboard-test to sanity-check the live-rendered dashboard without touching the real latest/ output

Screenshots 📸 (optional)

image

Anything Else? (optional)

image

@daniel-herrero daniel-herrero changed the title feat(ci): adds to the GitHub QA Dashboard another dimension crossing … feat(ci): adds to the GitHub QA Dashboard another dimension crossing flakies & failures Jul 16, 2026
@daniel-herrero
daniel-herrero force-pushed the dherrero/piweek/qa-dashboard-flakies branch from bde108f to e3890e3 Compare July 16, 2026 13:14
@daniel-herrero
daniel-herrero marked this pull request as ready for review July 16, 2026 13:17
@daniel-herrero daniel-herrero self-assigned this Jul 16, 2026
@estefafdez
estefafdez self-requested a review July 17, 2026 07:59

@estefafdez estefafdez left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@daniel-herrero
daniel-herrero merged commit 25d0559 into main Jul 17, 2026
@daniel-herrero
daniel-herrero deleted the dherrero/piweek/qa-dashboard-flakies branch July 17, 2026 08:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants