-
Notifications
You must be signed in to change notification settings - Fork 525
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
[REVIEW] Adding Cython to Code Coverage #3111
[REVIEW] Adding Cython to Code Coverage #3111
Conversation
Please update the changelog in order to start CI tests. View the gpuCI docs here. |
Codecov Report
@@ Coverage Diff @@
## branch-0.17 #3111 +/- ##
================================================
+ Coverage 59.20% 69.38% +10.18%
================================================
Files 142 193 +51
Lines 8966 14704 +5738
================================================
+ Hits 5308 10203 +4895
- Misses 3658 4501 +843
Continue to review full report at Codecov.
|
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.
Looks great to me. Seems safe for the non-CI case too. The codecov.io displays don't show lines, though - I just see file-level summaries.
@@ -58,7 +58,7 @@ BUILD_TYPE=Release | |||
INSTALL_TARGET=install | |||
BUILD_ALL_GPU_ARCH=0 | |||
SINGLEGPU_CPP_FLAG="" | |||
SINGLEGPU_PYTHON_FLAG="" | |||
BUILD_PYTHON_ARGS=${BUILD_PYTHON_ARGS:=""} |
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.
Maybe this should be a command-line flag instead, like "--python-args"? Seems like that would be more consistent with the other inputs
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.
I can try and convert it to a command line argument, but it will be a little riskier since it will be a little different than all of our current command line args. This would be the only one that accepts an argument value. All of the current options (-g
, -n
, --singlegpu
, etc.) are boolean flags which is much easier to parse. I'm just a little concerned that we may miss some edge cases when parsing arbitrary arguments since this runs on several platforms.
I'll give it a shot and see if there are any other build.sh
scripts in rapids that take arbitrary values
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.
I ended up sticking with boolean flags and added a new --codecov
option to build.sh
. This doesn't add any risk from parsing argument values and is generic enough to possibly include C++ code coverage one day (if we can figure out how to do it).
I'm open to different argument name. Let me know if you have a better selection. Link to the help section: https://github.com/rapidsai/cuml/pull/3111/files#diff-4d2a8eefdf2a9783512a35da4dc7676a66404b6f3826a8af9aad038722da6823R46-R47
FYI, I think it doesnt show up in codecov.io since some of the cython names get mangled. I would look into it but I cant get codecov.io to even load this PR for me. |
Ok it's showing up in codecov for me.. no line level info but that seems to be because there is no baseline from which to diff? |
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.
I like the --codecov
option... matches the existing approach well.
Closes #3110
Quick update to add cython to the code coverage.
Since adding
--linetrace=1
to the build has a performance impact, the./build.sh
scripts have been updated to only perform this during GPU CI. I used an environment variable to support adding any argument to the python build viaBUILD_PYTHON_ARGS
.