Repository navigation
v0.55.0
This release combines unit and end-to-end coverage into one ratio per commit: upload unit-test reports with piwi coverage upload, explore a commit's coverage as a tree split by suite, follow the trend, export it as LCOV or Cobertura, and gate pull requests on patch coverage.
Full diff: v0.54.0…v0.55.0
✨ Highlights
- 🧩 Combined coverage — Every suite's coverage of a commit, unit and end-to-end, counts toward one ratio, shown on the project's coverage, run and file pages, with a note on what the numbers leave out.
- 📤
piwi coverage upload— The reporter uploads unit-test coverage reports, reads Cobertura and LCOV, and sends a .NET test host's run-level report as--format piwi. - 🌳 Coverage tree & gaps — Explore a commit's coverage as a foldable tree with every bar split by suite kind, rank the least-covered files, and step through a file's gaps.
- 📊 Trend & export — Combined coverage is charted over time and exported as LCOV or Cobertura; named areas of the code are counted apart in coverage, the trend and pull requests.
- 🚦 Patch coverage in pull requests — The pull-request comment and gate count patch coverage and unit suites.
- 🌐 Coverage across origins — The reporter follows suites across origins, pages and documents, records the lines of each browser function that ran, and uploads the route manifest of every instrumented origin a run reaches.
Features
Combined coverage
- app: combine every suite's coverage of a commit, unit and end-to-end, into one ratio per commit (080f1fd, 24ed380)
- app: store uploaded coverage reports by commit and suite, executable lines by file version (951cc1c)
- db: keep a branch's newest coverage report per suite, earlier totals frozen (5f8fc80)
- app: show a project's combined coverage on its coverage, run and file pages (a6889c1)
- app: say what a commit's coverage numbers leave out (739dde6)
Exploring coverage
- app: explore a commit's coverage as a foldable tree, every bar split by suite kind (dd292ad)
- app: rank the least-covered files, mark a file's lines by suite and step through its gaps (bf256b3)
- app: chart combined coverage over time and export it as LCOV or Cobertura (b12d214)
- app: count named areas of the code apart in coverage, the trend and pull requests (b8824ad)
- app: count patch coverage and unit suites in the pull-request comment and gate (cbe11ca)
Uploading coverage
- reporter: add
piwi coverage uploadfor unit-test coverage reports (6933dbd) - reporter: read Cobertura and LCOV reports, and keep the browser functions that did not run (cde1ca3)
- reporter: upload a .NET test host's run-level report, written at exit, as
--format piwi(a70fa64) - reporter: say when an uploaded commit's coverage was superseded (92472a7)
Browser coverage & code reach
- reporter: follow suites across origins, pages and documents for coverage and route manifests (984b840)
- reporter: record the lines of each function that ran in the browser (5926401)
- reporter: record code reach on every page a test has and every document it leaves (c9a39ee)
- reporter: resolve code reach against the roots of each origin (6748d4b)
- reporter: upload the route manifest of every instrumented origin a run reaches (88a4a17)
Editors
- ide: one pair of coverage mark colors in the dashboard and the editors, with what they mean (c62c29a)
- ide: record the browser's coverage by function from a browser file's lens (04bd0a5)
Demo
- demo: wire the sample app for combined coverage (84b116c)
- demo: show a branch push superseded by the next one (25a70ea)
Performance Improvements
- reporter: keep code reach's script cache small enough to hold a large app's modules (3cf95c9)
- reporter: keep each decoded source map in four typed arrays, not three per line (c91d5bc)
Bug Fixes
Coverage in the dashboard
- app: carry coverage only from earlier commits, recount every stale commit (36186b9)
- app: merge coverage uploads safely, keep a default-branch commit, bound report bodies (e4febf1)
- db: store when a commit's coverage arrived, count report inventories once (53c3689)
- app: ask the run coverage of server files only, and say browser files unfold (947e926)
- app: give the coverage trend's change the subtitle, clear of a long legend (74f2c84)
- app: keep the coverage overview in place, its links on the pinned commit and area (71e5cae)
- ide: mark a file with its own coverage, not another file's ending with the same path (5c545ff)
- demo: run the unit coverage without a shell, upload only this run's reports (29c7e23)
Coverage capture & upload
- reporter: bound the end-of-run wait for browser blob ids too (b466e25)
- reporter: count every instrumented assembly's lines, drop lines built from other sources (fd086cb)
- reporter: fetch an origin's manifest as it is first seen, through the backend request helper (864d341)
- reporter: place a function that ran on its own lines through a production bundle's map (ab8c415)
- reporter: read each document's coverage against the scripts it parsed, and keep only what ran (bc9f6fb)
- reporter: read quoted Cobertura values in one pass, match scope patterns without backtracking (f3127ca)
- reporter: send every browser function in parts, keep idle ones only at functions (102f2ca)
- reporter: wait at the end of a test for the code reach a closing page started stopping (32f421d)
- reporter: write a .NET host's coverage report in time, one file per host (fa84f0c)