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 = True
in 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 thev
in 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 release
to create the release.Update the setup.py file with an incremented major or minor version number and make sure that the string
dev
appears in that version. For example, if you just released1.2.1
then change the string to1.3.dev0
or2.0.dev0
as appropriate. This is needed to ensure that if someone is building from source, it always takes precedence over an older release version.Set
release = False
in 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.