brainglobe / brainglobe/brainglobe-data-api-connectivity
Update to trusted PyPI publishing workflow
- Dominant language
- Python
- Stars
- 2
- Forks
- 1
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 2
Description
**Is your feature request related to a problem? Please describe.**
Our `test_and_deploy.yml` workflow uses long-lived tokens and relies on a dysfunctional `upload_pypi` action that we are removing, see https://github.com/neuroinformatics-unit/actions/pull/181.
**Describe the solution you'd like**
Migrate to the recommended and safer [Trusted Publishing route](https://python-cookiecutter.neuroinformatics.dev/infrastructure.html#trusted-publishing-on-pypi), see this `python-cookiecutter` PR for context: https://github.com/neuroinformatics-unit/python-cookiecutter/pull/179
The required steps (in order):
- [ ] Configure a trusted publisher for the project on PyPI
- [ ] Update the workflow in this repo
- [ ] Optional: restrict the publishing environment to `v*` tags
- [ ] Make a successful PyPI release using the new route
- [ ] Remove the now obsolete twine API token from PyPI and repo secrets
Most of these steps require admin access to the repo and the PyPI project.
Contributor guide
Research direction
Read .github/workflows/test_and_deploy.yml and the linked trusted-publishing guide first. Configure the PyPI trusted publisher, update the workflow, optionally restrict publishing to v* tags, and verify a successful PyPI release; completion also requires removing the obsolete Twine token from PyPI and repository secrets, with admin access needed for most steps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- ci-cd, release
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100