The document attempts to describe the workflow for creating a release of a subpackage of LALSuite. Note that only authorised persons will be able to push directly to the relevant release branch.
The workflow is (roughly) as follows:
- cherry-pick/merge everything required onto the release branch
(e.g.
o3b-release) via a Merge Request; please use the-xand--gpg-signoption togit-cherry-pick - for each subpackage (e.g.
lal):- update the following for the release:
/lal/configure.ac(package and library version numbers, and upstream LALSuite dependencies -- carefully read the instructions on how to change the library version number)/lal/debian/control.in(changelog entry)/lal/lalsimulation.spec.in(changelog entry)
- commit the resulting changes onto the release branch (one file at a time, if you like)
- tag
lal-vX.Y.Zon the release branchgit tag --annotate --sign lal-vX.Y.Z - generate the release tarball
git checkout lal-vX.Y.Z ./00boot ./configure --enable-swig make dist -C lal git checkout <release-branch>
- update the following for the release:
- update the following for the top-level
lalsuiterelease:/configure.ac(lalsuite version number)
- commit the resulting changes onto the release branch
- tag
lalsuite-vX.Yon the release branchgit tag --annotate --sign lalsuite-vX.Y - push the new references up to the repository
git push upstream lal-vX.Y.Z # (repeat as required for each subpackage) git push upstream lalsuite-vX.Y
- upload the release tarballs to http://software.ligo.org/lscsoft/source/
- open an SCCB ticket
- merge the release branch onto
mastervia a Merge Request- use a local branch on your fork to merge the two branches
- update the package versions in
/configure.acand all/<subpackage>/configure.acfiles for released subpackages toX.Y.Z.1to indicate that they are back in development mode