Skip to content
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

Code coverage in CI #52

Open
nevi-me opened this issue Apr 3, 2023 · 2 comments
Open

Code coverage in CI #52

nevi-me opened this issue Apr 3, 2023 · 2 comments

Comments

@nevi-me
Copy link
Contributor

nevi-me commented Apr 3, 2023

It would be useful for us to have code coverage in CI, especially for the crypto backends.
Depending on what service we use, this might require some integrating the repo to an external service, e.g. coveralls.

I can work on the Github Actions part and figure out how coverage will work for mutually exclusive targets, then I can leave some instructions for how a repo admin can enable CI on a service.

@simlay
Copy link
Contributor

simlay commented Jul 10, 2023

So, after a little bit of trying out cargo-llvm-cov, which I really like, I think this may require a bit of refactoring of CI should you want to use cargo-llvm-cov.

According to the README, one can merge different coverages based on features. The issue with this is that the different crypto backends are three different workflows (three links, for the three workflows, I'm not being passive aggressive or anything).

On a recent code sample I used codecov.io/, I was pleased how nicely it consumed the reports from cargo-llvm-cov with minimal CI addition. One can add the ability for it to comment on the PR but that could get annoying. I don't think using cargo-llvm-cov would force one into just using codecov.io though. The tooling has an --html option. It depends on how one wants the badge to be displayed.

Anyway, if it's reasonable, I'd suggest refactoring the three crypto backend CI's into one CI that:

@simlay
Copy link
Contributor

simlay commented Jul 11, 2024

I randomly found myself looking at this issue last week and decided to try out some new tools for my CI for work without relying on external websites like codecov.io (I think it was recently acquired). Some actions I found useful are:

This is an example of what I've got with merging multiple lcov's (from swift and rust tests) and turning them into a Job Summary

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants