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-x
and--gpg-sign
option 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.Z
on 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
lalsuite
release:/configure.ac
(lalsuite version number)
- commit the resulting changes onto the release branch
- tag
lalsuite-vX.Y
on 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
master
via a Merge Request- use a local branch on your fork to merge the two branches
- update the package versions in
/configure.ac
and all/<subpackage>/configure.ac
files for released subpackages toX.Y.Z.1
to indicate that they are back in development mode