-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Re-Add CodeCov #15256
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
base: main
Are you sure you want to change the base?
Re-Add CodeCov #15256
Conversation
# Conflicts: # .github/workflows/rust.yml
# Conflicts: # .github/workflows/rust.yml
Codecov ReportAll modified and coverable lines are covered by tests ✅ 🚀 New features to boost your workflow:
|
I got a lot of pushback on code coverage when I brought it up, fyi. Here is a report I had done with a manual run. |
Thank you! The feedback I saw in that discussion:
|
Basically my opinion here is that the few times I tried to review the codecov reports, I found them useless. Maybe it has gotten better since they were originally When I tried to look at the report on what lines were/were not covered it the diffs I remember looking at did not make any sense. Also I remember codecov takes a long time and thus was delaying PR CI cycles if we are confident that
Then I think it would be a good idea |
I'm interested to see it when reviewing, but if it slows down CI, we can let it get triggered manually instead of running by default. |
Starting with manual triggering sounds like a good idea to me |
Thank you for your feedback! I think we can do it this way:
|
# Conflicts: # datafusion/ffi/tests/ffi_integration.rs
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.
Thank you for your feedback! I think we can do it this way:
Sounds like a good plan to me. Thank you
I am trying to clean up the review queue and it wasn't clear to me what the plan for this PR is, so marking it as draft |
Which issue does this PR close?
Related to #15155 (comment)
Rationale for this change
We have quite a lot of code that isn't covered in tests. And it's actually easy to miss covering some case when you submit a big PR
What changes are included in this PR?
Now, when a new PR introduces untested code, a warning message will be posted. Example: here.
Coverage data is aggregated from:
linux-test
linux-test-datafusion-cli
sqllogictest-postgres
macos-aarch64
test-datafusion-pyarrow
Excluded from coverage:
datafusion-examples
— not technically tests.verify-benchmark-results
— IMO we shouldn't rely on them for functionality tests, those should be covered on the unit test leveldoctests
— because they requite nightly rust and I couldn't (yet) make it work in the CI (although will try more)There are ways to make checks even more annoying (e.g. putting ❌ in CI checks). I want to do this later, but first, I want to make sure we're measuring coverage properly and others are okay with it. If that’s the case, we’ll tighten CI checks in future PRs.
Absolute coverage example: https://app.codecov.io/gh/blaginin/datafusion/pull/4/tree
Are there any user-facing changes?
No.