You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've been proudly using codecov since the beginning of the project, but codecov has become unusable over the last year. The vast majority of tests result in 404 errors during coverage upload: codecov/codecov-action#903. The "solution" is to use our codecov secret during upload: codecov/feedback#126. However, secrets are not shared with forks, where 99% of our PRs originate from. The codecov team has not provided any recommendations for how to use codecov for open source projects, and coverage uploads now have a nearly 100% failure rate: codecov/feedback#301.
Implementation
My first thought was to replace codecov in a single PR, but I think it's actually much easier and safer to simply add additional coverage providers and test them jointly for a few weeks before making a final decision. This will prevent service disruption and allow us to explore features before making a decision.
Spack used to use coveralls, but we switched to codecov because it offered GitHub integration (you could see the lines of coverage in your PR). However, codecov abandoned GitHub integration, meaning they no longer have any significant advantage over coveralls or codacy other than support for more languages (we only care about Python anyway).
Additional information
It would be interesting to get feedback from all of these providers to see what features they offer and whether or not they suffer from the same GitHub API rate limit that codecov does:
I've removed codecov as a required status check since it almost never passes. For now, we'll have to manually verify whether or not coverage really decreases.
I think it's still worth adding coveralls and codacy to CI just to see how they compare and see if they can get us reliable coverage reports while we wait for codecov to come back online.
Codecov seems to be reliably working again. Let's close this for now, although I'm still open to the idea of relying on multiple coverage providers for redundancy.
Summary
We should consider switching coverage providers.
Rationale
We've been proudly using codecov since the beginning of the project, but codecov has become unusable over the last year. The vast majority of tests result in 404 errors during coverage upload: codecov/codecov-action#903. The "solution" is to use our codecov secret during upload: codecov/feedback#126. However, secrets are not shared with forks, where 99% of our PRs originate from. The codecov team has not provided any recommendations for how to use codecov for open source projects, and coverage uploads now have a nearly 100% failure rate: codecov/feedback#301.
Implementation
My first thought was to replace codecov in a single PR, but I think it's actually much easier and safer to simply add additional coverage providers and test them jointly for a few weeks before making a final decision. This will prevent service disruption and allow us to explore features before making a decision.
Alternatives
There are many alternatives to codecov:
Spack used to use coveralls, but we switched to codecov because it offered GitHub integration (you could see the lines of coverage in your PR). However, codecov abandoned GitHub integration, meaning they no longer have any significant advantage over coveralls or codacy other than support for more languages (we only care about Python anyway).
Additional information
It would be interesting to get feedback from all of these providers to see what features they offer and whether or not they suffer from the same GitHub API rate limit that codecov does:
The text was updated successfully, but these errors were encountered: