-
Notifications
You must be signed in to change notification settings - Fork 1
How to do a release
Dave Fisher edited this page Feb 4, 2025
·
1 revision
- Create a branch for the release changes:
git checkout main git pull upstream main git checkout -b release/X.X.X
- Edit
HISTORY.rst
for the new release. Replace the "Unreleased Changes" header with the version and release date. - Push the changes:
git commit -m "update HISTORY.rst for X.X.X release" git push --set-upstream origin release/X.X.X
- PR
origin/release/X.X.X
intoupstream/main
. Wait for checks to pass and PR to be approved and merged. - Create a tag for the release and push it to
upstream/main
:git checkout main git pull upstream main git tag X.X.X git push upstream X.X.X
- Wait for the newly triggered Github Actions workflows to complete on
main
. - Build a wheel and source distribution. It's okay to do this locally instead of on GHA because GeoMetaMaker is a pure Python package.
python -m build
- Create a release on Github:
- On the releases page, click "Draft a new release".
- Select the new tag in the "Choose a tag" dropdown.
- Enter the version number as the release title.
- Copy the version's section from
HISTORY.rst
into the release description. - Attach all the
.whl
files and the source distribution.tar.gz
to the release. NOTE: the release assets "Source code (zip)" and "Source code (tar.gz)" will be automatically added by Github when you publish the release. - Publish the release.
- Create a release on PyPI:
- Install
twine
, if not already installed - Use
twine
to upload all the.whl
files and the source distribution.tar.gz
to PyPI:twine upload --username=__token__ --password="$PYPI_API_TOKEN" <files>
- Install
- Announce the release as appropriate. For a bugfix release, an announcement in the
#softwareteam
channel should be enough.