-
Notifications
You must be signed in to change notification settings - Fork 61
Issuing Releases
Nathan Swain edited this page Jul 12, 2016
·
5 revisions
Last Updated: December 15, 2015
This article provides an overview of the procedure that should be followed to issue new releases of Tethys Platform.
After all tasks for a release have been completed, create a new release candidate branch from the dev branch following this naming convention: "X.X.0-rc". This branch should be frozen with now additional development occurring and evaluated for release. All of the following operations should be performed on this frozen version of the dev branch.
- Setup.py
Update the version parameter in the setup.py file if it was not done already.
- Documentation
Update the version number in the docs/conf.py and all documentation pages that are applicable (e.g.: docs/index.rst). Do a search for the version number on the entire docs directory to find other places where the version number needs updating or phrasing needs to be changed to refer to the older version in past tense.
- What's New Page
Move the old What's New Page content to the Prior Releases page. Add short descriptions of new features and bug fixes for the new release and link to appropriate documentation.
- Installation Instructions
Review installation instructions and update as necessary remembering that when the release is complete, it will be on the master branch.
- Update Instructions
Review update instructions from the last release and change as necessary remembering that when the release is complete, it will be on the master branch.
Developers should not commit database migrations as they develop. After freezing the dev branch, perform the following steps to generate the release migrations:
- Install the current release version of Tethys from scratch.
- Pull the frozen dev branch and update to the new version that will be released.
- Change into the /usr/lib/tethys/src directory and make migrations:
(tethys) $ python manage.py makemigrations (tethys) $ python manage.py migrate
- Verify that Tethys works as expected.
- Inspect the migrations directories of the Tethys django apps (tethys_apps, tethys_compute, tethys_config, tethys_services, etc.) for new migration files, add them to the repository, and commit them.
- Merge Frozen Dev Branch to Master Branch
Merge the release candidate branch into the master branch.
- Tag the Last Commit with Release Version
Tag the merge commit as "X.X.0" and push to the public repository.