-
Notifications
You must be signed in to change notification settings - Fork 249
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
Add grcov and codecov reports. #1174
Comments
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedI'm a junior software developer from the Dojo Coding community with contributions to several OnlyDust projects. Including Madara, Cairo native, kakarot-rpc, and Giza. All the projects where I contributed are in Rust, so I have been dealing with this language for a while. You can check my OD profile here: https://app.onlydust.com/u/Gerson2102 How I plan on tackling this issueI will start by doing a research on how to set up these kind of things in a repo. Watching videos about how to set up this in a github repo. And asking for some resources through the telegram groups if im too stuck solving this. |
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedI am new to the field of OSS, I am a student in the IT career, doing my final graduation project. How I plan on tackling this issueI would have to start researching how to get started with these types of contributions and I should also research how to configure things like this in a repository. |
Can I work on this? |
Hi @Gift-Naomi! |
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedI'm a Software Engineer backend with more than 5years of experience (but In web2 ) I'm newie here :) but I can do this one! How I plan on tackling this issueI'll suggest to add source based coverage like cargo-llvm-cov, because is more accurate inorder to obtain the coverage. I can implement the feature with grcov too. I already did both cases with rust before |
I selected @jrmncos as he has the most relevant experience. @jrmncos Another team has recently developed wasmcov support for NEAR Wasm contracts. It might be useful or could be partially useful to test the parts of SDK that are only executed from contracts (e.g. example folder is used in CI testing as well, so we can collect code coverage metadata from there as well) |
hey @frol thanks. I will take a look to wasmcov too |
@jrmncos Hey, how is your progress so far? If it is not going well, let's unassign the issue, so someone else can give it a try |
hey @frol I will share a draft by today |
hey @frol I dedicated a lot of time to integrate wasmcov to the repo, but I had a lot of issues but now I'm in a rabbit hole that doesn't depend on us. Wasmcov requires rustc nightly, the repo said something like 'The tool uses the nightly Rust toolchain for building and running' I'm using rustc nighly with following config:
and my llvm tools has the versions
Internally the code of wasmcov tries to find llvm tools that matches with LLVM version in rustc, in this case 19. The error is:
But, there isn't any public release of that tool. You can verify it here: https://releases.llvm.org/ 19 will be the next release Also I already tried it modifying the rustc version. I was talking by Telegram with the main mantainer of Wasmcov and he will help me next Monday. By the other hand, I already try with the tool https://github.com/taiki-e/cargo-llvm-cov and I was able to get a report. I can continue with the work with that tool if you agree while we try to get more help with the owner of wasmcov. |
@jrmncos Consider using a bit older nightly version of the compiler (maybe even 6 months old one). Indeed, codecoverage tooling in Rust requires nightly features, but that is ok, we just need to pin specific version that works |
thanks @jrmncos I'll try with that |
I still working on this one. I'm waiting the next release of wasmcov that solves the error related with versions of rustc. In the meanwhile I was working with a local version of wasmcov with the fix and I was able to generate the .profdata files for each directory of /examples |
Add GitHub CI automation to see the code coverage diffs on pull requests. Once it is setup, we can track it and ensure we improve code coverage
The text was updated successfully, but these errors were encountered: