ring icon indicating copy to clipboard operation
ring copied to clipboard

Changed toolchain to stable for coverage

Open Raghav-Bell opened this issue 1 year ago • 6 comments

It fixes #1902

Raghav-Bell avatar Mar 08 '24 10:03 Raghav-Bell

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.80%. Comparing base (ee1e217) to head (6d493b1). Report is 1567 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1987      +/-   ##
==========================================
+ Coverage   96.32%   96.80%   +0.48%     
==========================================
  Files         137      143       +6     
  Lines       20704    20434     -270     
  Branches      226      226              
==========================================
- Hits        19943    19782     -161     
+ Misses        728      618     -110     
- Partials       33       34       +1     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Mar 09 '24 20:03 codecov[bot]

From the CI run:

qemu: uncaught target signal 11 (Segmentation fault) - core dumped
/home/runner/work/ring/ring/mk/runner: line 21:  6499 Segmentation fault      (core dumped) $*
error: test failed, to rerun pass `-p ring --lib`

This kind of crash seems to happen when the clang version doesn't match the LLVM version that Rust uses. It seems like we upgraded clang in CI to what Nightly Rust uses. In order to move forward with this change, we may either need to downgrade to the earlier version of clang that matches stable Rust's LLVM version, or wait until the next stable Rust is released.

You might try using channel beta to see if the beta channel is using the new version of LLVM to get an idea of how long we'd need to wait.

briansmith avatar Mar 09 '24 21:03 briansmith

image

@briansmith You are right stable needs LLVM $\geq$ 16 beta & nightly are compatible with LLVM ==18. I will push it to beta for now, later we can move it to stable. Thanks

Raghav-Bell avatar Mar 10 '24 05:03 Raghav-Bell

@Raghav-Bell Do you want to try again now?

briansmith avatar May 07 '24 00:05 briansmith

OK, this seems to be working now on stable. Could you please do the following?:

  1. Rebase this on top of the latest main. Your PR branch is 64 commits behind the main branch, so it is hard to compare its effect on code coverage measurement as it is. If you rebase, then we should get a useful report from codecov.io.
  2. Squash the three commits into one.
  3. Improve the commit message. Something like this:

CI: Use stable Rust toolchain for code coverage.

Use the stable Rust toolchain for code coverage in CI. This should make coverage measurements more stable day-to-day and also make it easier for people to replicate coverage measurements on locally.

briansmith avatar May 10 '24 23:05 briansmith

Since PR #2056 was merged, we'll need to wait for Rust 1.80 (IIUC) to become stable, or else add a wokaround that forces the use of nightly for the armv7 target.

briansmith avatar May 14 '24 00:05 briansmith

Thanks for the PR. I definitely did want to switch to stable Rust for code coverage. This would have been a good improvement. Unfortunately, the branch coverage option hasn't been stablized, IIUC. So I'm going to close this. Thanks again!

briansmith avatar Feb 25 '25 15:02 briansmith