Skip to content

feat(report): add the CI health report - #10

Merged
Nain9Dev merged 1 commit into
mainfrom
feat/ci-report
Oct 14, 2026
Merged

Nain9Dev merged 1 commit into
mainfrom
feat/ci-report

Conversation

@Nain9Dev

Copy link
Copy Markdown
Member

Summary

Task T16 of specs/next-ci-reliability (contrast3d-platform), requirement FR12.

  • report/ci_report.py (standard library, reads through gh): per repository and period, the
    failure rate of conclusive runs of one workflow, the share of failures caused by the infrastructure
    rather than the code, the median duration and the median time to the first job start.
  • Classification: a failed run is infrastructure only when every failed job never reached its own
    steps (Set up job, no steps) or is the shared runner preflight. Cancelled runs are counted apart.
  • A snapshot of today (runners online, busy and offline, queued runs and their oldest age, open
    pull requests and those labelled automerge) so plans start from the current state.

Verification

  • 21 tests with a simulated gh, including a pinned table row; ruff clean.
  • Run read-only against the four real repositories: it works and takes about six minutes (one gh
    call per sampled run).
  • First numbers (7 days): crm 23 % failed, viewer 20 %, platform 10 %, bot 7 %; infrastructure is a
    small share (0 to 4 %), so most failures are code and tests.

Print, per repository and period, the failure rate of conclusive runs,
the share of failures caused by the infrastructure rather than the code,
the median duration and the median queue time, followed by a snapshot of
today: runners, queued runs and open pull requests. A failed run counts
as infrastructure only when every failed job never reached its own steps
or is the shared preflight. Cancelled runs are not failures.
@Nain9Dev
Nain9Dev merged commit 12e8993 into main Oct 14, 2026
5 checks passed
@Nain9Dev
Nain9Dev deleted the feat/ci-report branch October 14, 2026 19:02
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.

1 participant