-
Notifications
You must be signed in to change notification settings - Fork 426
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
Temporarily work around lost code coverage reports #1892
Conversation
.circleci/config.yml
Outdated
# Replaces -1 linecount with zero to prevent lcov from crashing: | ||
# https://github.com/psycofdj/coverxygen/issues/6 | ||
sed -i -e 's/,-1$/,0/g' coverage.info | ||
#lcov --remove coverage.info "*/deps/*" --output-file coverage.info > /dev/null |
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.
Quick question, we hy are these commented out? Don't we still not want dependencies to count towards coverage? At the very lest we should add these globs to .coveragerc then.
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 just copied what was there from the other part :) I don't want to touch anything here, only want to fix what's broken.
Will use the yaml anchor, thanks.
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.
Other than that, looks good.
You absolute can deduplicate it by either using yaml anchors or writing a custom command. For the anchor see how install_cuda is deduplicated: habitat-sim/.circleci/config.yml Line 111 in 82fdc0b
Here is an example of a circleci specified command: habitat-sim/.circleci/config.yml Line 11 in 82fdc0b
|
Getting a lot of these due to the coverage being collected after the Audio build, losing the coverage collected earlier: libgcov profiling error:/home/circleci/project/habitat-sim/build/esp/bindings/CMakeFiles/habitat_sim_bindings.dir/Bindings.cpp.gcda:overwriting an existing profile data with a different timestamp With this change the coverage is back at 60% (from 40%), and still includes also everything from the Audio build. The better long-term solution, however, would be like something in #1860.
82fdc0b
to
8267a6d
Compare
Motivation and Context
Builds on
main
are getting a lot of these errors due to the coverage being collected after the Audio build (originating from #1646), losing the coverage collected earlier:With this change the coverage is back at 60% (from 40%), and still includes also everything from the Audio build.
The better long-term solution, however, would be like something in #1860 -- this unnecessarily duplicates a lot of the CI setup code. (@Skylion007 or anybody else who knows YAML or CircleCI, do you know if there is a possibility to reuse / deduplicate the markup somehow?)
How Has This Been Tested
Comparing these two reports gives a ~20% increase in code coverage:
As far as I checked, the Audio build coverage (such as
src/esp/sensor/AudioSensor.cpp
) seems to stay the same, so the second coverage upload gets merged with the first one. That's only from a cursory look though, if you see anything suspicious in the new reports, let me know.