Releasing
A pypdf
release contains the following artifacts:
A new release on PyPI
-
Containing a changelog update
A new git tag
Who does it?
pypdf
should typically only be released by one of the core maintainers / the
core maintainer. At the moment, this is Martin Thoma.
Any owner of the py-pdf organization has also the technical permissions to release.
How is it done?
The release contains the following steps:
Create the changelog with
python make_changelog.py
and adjust the_version.py
Create a release commit
Tag that commit
Push both
CI now builds a source and a wheels package which it pushes to PyPI. It also creates a GitHub release.
The Release Commit
The release commit is used to create the GitHub release page. The structure of it should be:
REL: {{ version }}
## What's new
{{ CHANGELOG }}
The Release Tag
Use the release version as the tag name. No need for a leading “v”.
Use the changelog entry as the body
When are releases done?
There is no need to wait for anything. If the CI is green (all tests succeeded), we can release.
I (Martin Thoma) typically only release once a week, because it costs a little bit of time and I don’t want to spam users with too many releases.