Creating Releases of PyCBC
Note
Only authorized maintainers of PyCBC should use these instructions.
Creating the release on GitHub
To create a new PyCBC release:
Make sure that the setup.py file contains the correct version number, which should be in the format
x.y.z(where x, y, and z are the major, minor, and patch levels of the release) in PyCBC’s setup.py file.Set
release = Truein the PyCBC’s setup.py file.Commit the changed setup.py file and push to commit to the repository.
Go to the PyCBC release page and click on
Draft a new release.Enter a tag version in the format
vx.y.z. Note thevin front of the major, minor, and patch numbers.Enter a descriptive release title and write a description of the release in the text box provided.
Click on
Publish releaseto create the release.Update the setup.py file with an incremented major or minor version number and make sure that the string
devappears in that version. For example, if you just released1.2.1then change the string to1.3.dev0or2.0.dev0as appropriate. This is needed to ensure that if someone is building from source, it always takes precedence over an older release version.Set
release = Falsein PyCBC’s setup.py file.Commit these changes and push them to the repository.
Note
Releases of PyCBC should be made from the master. Do not make a branch unless you are back-porting a bug fix from a new release series to an old production release series.
Creating the release will trigger a Travis build that updates CVMFS, Docker, and PyPI with the release. Please ensure that you check the outputs of these builds and urgently report any errors to other maintainers, you will be emailed if the builds fails.
Backporting Bug Fixes to Previous Release Series
Branches should only be created when bug fixes from master need to be back ported to an old release series (e.g. adding a bug fix from the 1.4 series to the 1.3 series.
To create a branch for the bug fix, make a new branch from the last release
tag and cherry pick the changes to that branch. For example, to create a
1.3.8 branch to add bug fixes to the 1.3.7 release, you should
git checkout -b b1.3.8 v1.3.7
git cherry-pick [hash of first change]
git cherry-pick [hash of second change]
[continue using git cherry-pick for all new changes]
git commit
git push
Then go to the PyCBC release page and click on Draft a new release following the instructions above.