Upgrade codecov: use CircleCI orb, remove deprecated Python uploader
bdice opened this issue · comments
Codecov is deprecating their bash and Python upload scripts and will disable them on February 1, 2022. We use the Python uploader to measure code coverage in several projects including signac and freud. I'm opening this issue to document my best understanding about how to proceed.
According to the Python migration guide we'll need to execute these steps:
- Remove codecov from any dependency file (e.g. requirements.txt)
For this repo, we'll remove the pip install codecov
lines from .circleci/config.yml
.
- Replace any calls to Codecov with the new Codecov Uploader
For this repo, we'll remove the call to codecov
and add the codecov orb: https://circleci.com/developer/orbs/orb/codecov/codecov
I'm not sure exactly how this is supposed to be called. The docs suggest addding a "job" called codecov/upload
but it seems like it should be a step we add to an existing job...
We will need an administrator to enable 3rd party orbs in the CircleCI security settings: https://app.circleci.com/settings/organization/github/glotzerlab/security. I can enable this when we're ready to transition (tagging @joaander for awareness).
- If you are using coveragepy to collect code coverage, you will need to add
coverage xml
before calling the new uploader.
We're already generating an XML output file with pytest --cov --cov-report=xml
so no action is required for this step.
This also applies to signac-flow (@glotzerlab/signac-maintainers), signac-dashboard, freud (@glotzerlab/freud-maintainers), and garnett (@glotzerlab/garnett-maintainers).
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
I guess this is becoming more urgent. I assume that there has been no activity on this yet?
I guess this is becoming more urgent. I assume that there has been no activity on this yet?
Right. I did my best to list the steps but I haven't worked on this yet.
I guess this is becoming more urgent. I assume that there has been no activity on this yet?
Right. I did my best to list the steps but I haven't worked on this yet.
I could give it a shot, however are the 3rd party obs on CircleCI already enabled?
are the 3rd party obs on CircleCI already enabled?
Third party orbs are now enabled. Feel free to give it a try!
@csadorf I did this in a couple of other projects so I went ahead and ported the changes to signac.
No worries. And yes, #739 resolves this.