How to release
This is documenting the release & deployment process.
We’re using semantic versioning where major.minor.patch
should be set accordingly.
VERSION=major.minor.patch
Start the release
git checkout -b release/$VERSION
Now update the setup.py version
to match the new release version.
sed --regexp-extended 's/"version": "(.+)"/"version": "'$VERSION'"/' --in-place setup.py
Then commit/push and create a pull request targeting the main
branch.
git commit -a -m ":bookmark: $VERSION"
git push origin release/$VERSION
Once the pull requests is approved/merged, tag the main
branch with the version.
In the case of a sole owner, no pull request is required, but at least verify the CI builds green.
git checkout main
git pull
git tag -a $VERSION -m ":bookmark: $VERSION"
git push --tags
Publish to PyPI
This process is handled automatically by GitHub Actions. If needed below are the instructions to perform it manually. Build it:
make release/build
Check archive content:
tar -tvf dist/edilkamin-*.tar.gz
Upload:
make release/upload
Release notes
You may want to add some GitHub release notes, by attaching a release to the newly pushed tag.