Skip to content

Software Releases

Matthew Bourque edited this page Mar 13, 2019 · 19 revisions

The jwql team performs a software "release" at the end of each sprint. In this context, the term "release" means the following:

  1. Creating a new branch for changes related to the version release procedure
  2. Updating the version number in setup.py
  3. Updating the CHANGES.rst file
  4. Opening/reviewing/merging a pull request with the release procedure changes
  5. Creating of a new tag/release on GitHub

Detailed instructions for performing a release are given below.

1. Create a new branch for the release updates

A new branch with the naming convention release-x.y.z should be opened, where x.y.z is the version number of the release (e.g. 0.16.1). This branch should be used for the changes described in the rest of this document.

2. Update the version number in setup.py

The VERSION variable in setup.py should be updated to the new version number, using the x.y.z convention.

3. Update the CHANGES.rst file

In CHANGES.rst, write a concise but detailed description of all of the notable changes that have occurred since the last release.

4. Open/review/merge a pull request with the release procedure changes

Once you've committed the changes from (2), (3), and (4) in your branch, push your branch to GitHub, open a pull request, and assign a reviewer. Either you or the reviewer should eventually merge the pull request.

5. Create a new tag/release on GitHub

Once the pull request from (5) has been merged, click on the releases button on the main page of the jwql repository, then hit the Draft a new release button. The Tag version should be the version number of the release, the Target should be master, the Release title should (also) be the version number of the release, and the Description should match that of the changelog entry in (4). Once all of that information is added, hit the big green Publish release button.