The following is a guide on the steps necessary to creating a release of matrix-reminder-bot
.
-
Update the
__version__
variable inmatrix_reminder_bot/__init__.py
. -
Store the version in an environment variable for convenience:
ver=`python3 -c 'import matrix_reminder_bot; print(matrix_reminder_bot.__version__)'`
-
Create a release branch off of master:
git checkout -b release-v$ver
-
Update
CHANGELOG.md
with the latest changes for this release. -
Create a commit and push your changes to the release branch:
git add -u && git commit -m $ver -n && git push -u origin $(git symbolic-ref --short HEAD)
-
Check that the changelog is rendered correctly:
xdg-open https://github.com/anoadragon453/matrix-reminder-bot/blob/release-v$ver/CHANGELOG.md
-
Create a signed tag for the release:
git tag -s v$ver
-
Push the tag:
git push origin tag v$ver
The commit message should just be the changelog entry, with
X.Y.Z
as the title. -
Upload the release to PyPI:
python3 setup.py sdist bdist_wheel python3 -m twine upload dist/matrix_reminder_bot-$ver-py3-none-any.whl dist/matrix-reminder-bot-$ver.tar.gz
-
Check that the images on Docker Hub are building: https://hub.docker.com/repository/docker/anoa/matrix-reminder-bot
-
Create the release on GitHub:
xdg-open https://github.com/anoadragon453/matrix-reminder-bot/releases/edit/v$ver
-
Merge the release branch to
master
:git checkout master && git merge release-v$ver
-
Push to
master
.git push origin master
-
Announce release on https://matrix.to/#/#thisweekinmatrix:matrix.org
-
Celebrate!