ci: coverage reports for the native and web UI tests

A coverage env (the native env with gcov counters) runs the native
tests in CI; gcovr writes the HTML report and a table on the run's
summary page. The web UI tests report coverage with Node's built-in
coverage, and genhtml turns its lcov into HTML. Both reports are run
artifacts, and pushes to main publish them to GitHub Pages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
cjkas 2026-10-31 12:07:58 +01:00
parent db73190653
commit bd399db73d
5 changed files with 117 additions and 4 deletions

View file

@ -161,3 +161,14 @@ build_flags =
-Isrc
-Itest/stubs
-D_POSIX_THREAD_SAFE_FUNCTIONS
; The native tests with gcov counters, for the coverage report:
; pio test -e coverage && gcovr
; gcovr.cfg sets what the report covers and where it goes.
[env:coverage]
extends = env:native
build_flags =
${env:native.build_flags}
--coverage
-O0
-lgcov