This page describes the steps required to author a release of GWpy.
Notes:
1.0.0
rather than
1.0
or just 1
Create a release branch using git flow
$ git flow release start 1.0.0
and then publish
it, allowing CI to run, and others to contribute:
$ git flow release publish 1.0.0
Wait patiently for the continuous integration to finish
Announce the release and ask for final contributions
Finalise the release and push
$ git flow release finish 1.0.0
$ git push origin master
$ git push origin --tags
Note
The git flow release finish
command will open two prompts, one
to merge the release branch into master
, just leave that as is. The
second prompt is the tag message, please complete this to include the
release notes for this release.
Draft a release on GitHub
v1.0.0
as the Tag versionPublish the release documentation
This is done from the LDAS computing centre at Caltech:
$ cd /home/duncan.macleod/gwpy-nightly-build/
$ bash release-build.sh 1.0.0
Once that is complete (~20 minutes), a few manual updates must be made
$ cd /home/duncan.macleod/gwpy-nightly-build/gwpy.github.io/docs
$ unlink stable && ln -s 1.0.0 stable
$ sed -i 's/0.9.9/1.0.0/g' index.html
The final command should be modified to replace the previous release ID with the current one.
Then:
$ git commit --gpg-sign --message="1.0.0: release docs"
$ git push # <- this step needs an SSH key
It should take ~5 minutes for the release documentation to actually appear on https://gwpy.github.io/docs/
Package distributions for Debian, RHEL, and Macports, is still done manually:
Generate an updated Portfile
$ python setup.py port
Open a new Pull Request on https://github.com/macports/macports-ports that
replaces the old /python/py-gwpy/Portfile
with this new version.
Finishing the release and pushing the tags to origin
will trigger a new
CI run on https://travis-ci.org, which will automatically deploy the new
release tarball to https://pypi.python.org and publish the release there.
Creating a new release on GitHub will automatically trigger a new DOI on https://zenodo.org.