-
Notifications
You must be signed in to change notification settings - Fork 32
Create and enable post-processing job for code coverage reporting #1211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create and enable post-processing job for code coverage reporting #1211
Conversation
1eeec0d
to
905de3a
Compare
Successfully tested on staging, as can be seen from the list of child nodes for the corresponding
|
905de3a
to
f277c92
Compare
18f0547
to
e79ee71
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM (from Maestro point of view, please let me know if you'd also like to have coverage reports logic double checked)
Thanks for sending the link to Nodes on Staging that verify this PR works properly
This new template is meant to be executed as a post-processing job, once every test job for a given `kbuild` node are complete. It gathers the raw coverage data from each of those test jobs and processes it as follows: * create a single JSON tracefile using `gcovr` * extract lines/functions coverage percentages for each job * create `test` child nodes for each job, reporting those percentages * merge all tracefiles in a single results file and generate both an HTML report and `lcov`-compatible tracefile; the HTML report gives a quick overview of the code coverage, while the tracefile can then be downloaded by developers for more targeted processing * create `test` child nodes for the `kbuild` job, reporting global lines/functions coverage percentages for this run Signed-off-by: Arnaud Ferraris <[email protected]>
Create a generic job definition meant for post-processing coverage data for kernel builds where GCOV support is enabled. This job is enabled for all kernels built with the `coverage` config fragment. Signed-off-by: Arnaud Ferraris <[email protected]>
e79ee71
to
729d2b8
Compare
I'm reasonably confident with the logic, so I'd say "not mandatory", but if you have enough free cycles feel free to double check |
Add a new template for generating code coverage report, meant to be used as a post-processing job for kernels built with GCOV support.
This job will collect coverage data from every test job of a given
kbuild
node, report lines/functions coverage for each job, aggregate coverage data for all jobs and generate the following artifacts pertaining to thekbuild
node itself:Depends on kernelci/kernelci-core#2908 kernelci/kernelci-core#2909 & kernelci/kernelci-core#2916