-
-
Notifications
You must be signed in to change notification settings - Fork 7.4k
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
Set threshold for Coveralls failure #7455
Comments
I don't think its non-deterministic, I think it's just that Coveralls does not work properly. Eg: How can line 192 not be executed if line 193 is? And how can line 202 be executed if lines 198 and 200 are not?
It's set to quite a small number so that it catches a single line that is now uncovered by a new PR. This actually used to work in the past, it alerted me a few times when the coverage decreased by 1 or 2 lines. So:
Given that, we should probably just remove the coveralls check. Would be great to replace with something that is part of GitHub workflows/actions, and I don't think that is too difficult. Eg I'm already generating this page using lcov daily: https://micropython.org/resources/code-coverage/ |
Codecov might be an alternative too. I've never used it. |
As discussed in micropython#7455, Coveralls doesn't work properly anymore, it has many spurious errors with reduced coverage. Signed-off-by: Damien George <damien@micropython.org>
Switched to Codecov in c940597. Let's see if it's any better. Can easily revert back to Coveralls if needed. |
Looks like Codecov has the same issues as Coveralls. So that means there's something wrong with the data generated by lcov as part of the coverage build. |
…socket espressif: always make new client sockets be non-blocking
Since MicroPython coverage tests have non-deterministic behavior, many lines of code are executed a different number of times in each CI run. Coveralls takes this number into account when calculating the coverage, so often we get "failures" due to variance between runs even though nothing actually changed. Coveralls provides a threshold setting for what constitutes failure. This could be set (or increased if it is already set) to reduce the number of nuisance "failures".
The text was updated successfully, but these errors were encountered: