matrix-reminder-bot/RELEASING.md

1.7 KiB

Releasing

The following is a guide on the steps necessary to creating a release of matrix-reminder-bot.

  1. Update the __version__ variable in matrix_reminder_bot/__init__.py.

  2. Store the version in an environment variable for convenience:

    ver=`python3 -c 'import matrix_reminder_bot; print(matrix_reminder_bot.__version__)'`
    
  3. Create a release branch off of master:

    git checkout -b release-v$ver
    
  4. Update CHANGELOG.md with the latest changes for this release.

  5. 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)
    
  6. Check that the changelog is rendered correctly:

    xdg-open https://github.com/anoadragon453/matrix-reminder-bot/blob/release-v$ver/CHANGELOG.md
    
  7. Create a signed tag for the release:

    git tag -s v$ver
    
  8. 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.

  9. 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
    
  10. Check that the images on Docker Hub are building: https://hub.docker.com/repository/docker/anoa/matrix-reminder-bot

  11. Create the release on GitHub:

    xdg-open https://github.com/anoadragon453/matrix-reminder-bot/releases/edit/v$ver
    
  12. Merge the release branch to master:

    git checkout master && git merge release-v$ver
    
  13. Push to master.

    git push origin master
    
  14. Announce release on https://matrix.to/#/#thisweekinmatrix:matrix.org

  15. Celebrate!