What qualifies as release?
A new release should be announced when a significant number functions, bugfixes or other improvements to the software is made. Usually this indicates a minor release. Major releases are yet to be determined.
What should be done before a release?
Tested basic functions
Run pytest and manually test
User, book and material management (create, view, change, delete)
Logging (e.g. mail log)
Test upgrade on a copy of a production database
You have to prevent e-mails from being sent, otherwise users could receive duplicate e-mails!
Ensure correct conversion if necessary
After testing everything you are good to go. Open the file
src/setup.py with a text editor
you can adjust the version number:
Do a final commit on this change, and tag the commit as release with appropriate version number.
git tag -a v1.0.0 -m "Releasing version v1.0.0"
git push origin v1.0.0
Make sure the tag is visible on GitHub and celebrate 🥳