brainglobe / brainglobe/brainglobe-data-api-connectivity

Update to trusted PyPI publishing workflow

Open
#34 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.