OXYGENHUB

Coverage reports built into the hub (Coveralls-style) issue #113 closed: completed andymccall opened this · 1 comment

andymccall

Andy (2026-10-05): built-in test and coverage reporting, like Coveralls or Codecov inside the hub, fed by OxygenFlow pipelines; Oxygen's own tests the first user.

Plan:

  1. Reports from Flow artifacts. A job's artifact named coverage in LCOV format (what cargo llvm-cov, Jest/Istanbul, coverage.py and gcov/lcov write) is parsed when uploaded: totals for lines, functions and branches, and per-file counts, kept per run. Paths are taken relative to the workspace (/src) and only files in the run's state are kept.
  2. Pages. A Coverage tab: the default bookmark's latest percentage, its trend over runs, every file with a bar sorted by what is missed, and a file view with each line marked hit or missed. A badge at /OWNER/NAME/coverage/badge.svg. The run page shows each job's coverage.
  3. Proposals. Coverage of the proposal's projected state against its target, per file, and a coverage check with an optional minimum and maximum drop set in the repository's settings.
  4. Oxygen's pipeline. cargo-llvm-cov and llvm-tools in the Flow build image; a coverage job in oxygen's pipeline.
  5. Cobertura XML next, and the API.
referenced by 3 changes on 5 Oct 2026

554ccacfc123 c987c86513df 1f8a37d351ab

andymccall

Parts 1, 2 and 4 are live (2026-10-05): reports from LCOV artifacts, the Coverage tab with charts (hero trend, facts, this run's changes, coverage bands, covered/missed lines, recent runs, files, per-line file view), the badge, and Oxygen's own test job reporting through cargo-llvm-cov in build image 7705d699. First real report: oxygen run issue #250, 81.9% (29 953 of 36 572 lines, 74 files). Still to do: proposals (coverage against the target and a coverage check with a minimum and largest drop), Cobertura, the API.

andymccall referenced by change 7edaff01d506 on main ·

closed by change 617c2840446c ·

andymccall referenced by change 7fff30c4f5e2 on main ·