Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
1 result

RELEASE.md

Blame
  • RELEASE.md 2.10 KiB

    How to create a LALSuite release

    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:

    1. 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 to git-cherry-pick
    2. for each subpackage (e.g. lal):
      1. 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)
      2. commit the resulting changes onto the release branch (one file at a time, if you like)
      3. tag lal-vX.Y.Z on the release branch
        git tag --annotate --sign lal-vX.Y.Z
      4. generate the release tarball
        git checkout lal-vX.Y.Z
        ./00boot
        ./configure --enable-swig
        make dist -C lal
        git checkout <release-branch>
    3. update the following for the top-level lalsuite release:
      • /configure.ac (lalsuite version number)
    4. commit the resulting changes onto the release branch
    5. tag lalsuite-vX.Y on the release branch
      git tag --annotate --sign lalsuite-vX.Y
    6. 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
    7. upload the release tarballs to http://software.ligo.org/lscsoft/source/
    8. open an SCCB ticket
    9. 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 to X.Y.Z.1 to indicate that they are back in development mode