Do releases with `tox`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 6
- Forks
- 7
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 5
Description
With the following GitHub Actions one can fully automate the workflow of releasing a package:
- https://github.com/hynek/build-and-inspect-python-package
- https://github.com/pypa/gh-action-pypi-publish
The first one generates the sdist and wheel archives, with build, while the second one publishes, with twine, the archives to PyPI 🎉
For the second one we should/must use trusted publishing feature of PyPI, to ensure credentials are not leaked.
For a core plone package we would be missing a pre and a post action:
- (pre): update the change log with
towncrier - (post): update
versions.cfgandcheckouts.cfgfrombuildout.coredev(or itsmxdevcounterparts whenever the switch happens 😄 )
Probably the pre part could be actually what triggers the release workflow? 🤔
Are we missing anything? 🤔
PyPI trusted publishers approach recommends using a specific GitHub workflow to drive the releases, which is highly recommended to be only triggered by maintainers/release managers, further increasing the security of a PyPI release 🔒
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare the linked GitHub Actions with the repository's existing release workflow and the versions.cfg/checkouts.cfg files used by buildout.coredev. Identify how towncrier, package publishing, and post-release updates should be coordinated, including maintainer-only trusted publishing. Done means the release sequence and its required pre- and post-actions are agreed and documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- ci-cd, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100