-
Notifications
You must be signed in to change notification settings - Fork 105
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
Track code coverage metrics #453
Comments
I'm keen to take this. I've used tarpaulin a bit before.
My go-to here would be Github Actions artifacts. |
That'd be awesome; it's all yours! I've assigned it to you. Github Actions artifacts sounds reasonable for reporting the metrics. |
Maybe I spoke too soon recommending Tarpaulin. Nevertheless, here is an example build using Tarpaulin https://github.com/tommy-gilligan/zerocopy/actions/runs/7986802695 . I think I'll also try Regardless of which tool is used, would it be useful to aggregate across different axes of PS. I'm finding navigating workflow jobs a bit tricky because the (necessarily) long names get truncated. I'm curious if you have a handy way of accessing the same information in a more accessible way? |
Where is the coverage information reported there? I don't see it. @jswrenn is the maintainer of itertools; here's their configuration: https://github.com/rust-itertools/itertools/blob/master/.github/workflows/coverage.yml I don't personally have experience with this, so I can't promise that some or any of it will be applicable here, but it might be a useful place to start 🤷♂️
Here's a rough outline of what we'd want in order of priority (highest priority to lowest). Let's start with the first and then we can try for the lower ones if it turns out to be feasible.
For the first of these, there's no need to solve the "do we report separately or aggregate" question since there's just one combination being reported.
Unfortunately none that I'm aware of, but I also haven't tried hard to find one. |
* [ci] Add code coverage reporting for PRs and main Makes progress on #453 * [WIP] Inline into `ci.yml`
I added basic coverage in #1274. There are still a lot of improvements that could be made, especially support for zerocopy-derive. |
As part of upholding our design ethos (#405), we would like to be able to promise that we maintain exceptionally high code coverage. To do this, we need to track code coverage in CI.
Mentorship Instructions
We're unfamiliar with the best-practices of monitoring code coverage in Rust. We are hoping that the contributor to this issue can help us navigate the complexities of applying code coverage metrics to this repo, which contains:
zerocopy
andzerocopy-derive
)In CI, these tests are run in multi ways (e.g., via miri, kani, and binary) on multiple platforms. Ideally, our coverage metrics captures as many of these sources of coverage as possible.
Unresolved Questions
The text was updated successfully, but these errors were encountered: