The intended audience for this section is the Avalon Music Server maintainers. If you are a user of the Avalon Music Server, you don’t need worry about this.
These are the steps for releasing a new version of the Avalon Music Server.
The steps assume that all the changes you want to release have already been
merged to the
master branch. The steps further assumed that you’ve run
all the unit tests and done some ad hoc testing of the changes.
The Avalon Music Server uses semantic versioning of the form
All backwards incompatible changes after version
1.0.0 will increment the major
version number. All backwards incompatible changes prior to version
increment the minor version number.
Since this is a Python project, only the subset of the semantic versioning spec that is compatible with PEP-440 will be used.
The canonical version number for the Avalon Music Server is contained in the file
avalon/__init__.py (relative to the project root). Increment this version number based
on the nature of the changes being included in this release.
Do not commit.
Update the change log to include all relevant changes since the last release. Make sure to note which changes are backwards incompatible.
Update the date of the most recent version to today’s date.
Commit the version number and change log updates.
Create a new tag based on the new version of the Avalon Music Server.
$ git tag avalonms-0.5.0
Push the committed changes and new tags.
$ fab push push_tags
Clean the checkout before trying to build.
$ fab clean
Build source and binary distributions and upload them.
$ fab pypi