Preparing A Release

Please familiarise yourself with this entire procedure before starting.

  1. Update Hardcoded Version Info

  2. Create a tag

  3. Build A Release Tarball

  4. upload Source Tarball

  5. Open SCCB Request

  6. Deployment

Update Hardcoded Version Info

There are a couple of places with (currently) hardcoded version numbers. Update these with the version you’re about to release.
Specifically, edit :

Future releases may automate this step.

Create a tag

Tag the state of the repository you’d like to release: create new tag in gitlab. See previous tags for examples of notes and the semantic version name used (e.g. vX.Y.Z)

Build A Source Tarball

LSC software is released by uploading a source tarball to the software.ligo.org software repository. This tarball can then be unpacked and built by package managers. At this time, BayesWave can be managed by the following systems:

  • conda, in which case the BayesWave release will eventually show up in the LIGO conda reference environments.

  • yum, in which case BayesWave can be installed directly from the LSCSoft SL7 repositories.

The easiest way to enter a suitable build environment is to use the BayesWave dependencies docker image. Assuming we’re starting at the root of the BayesWave repository:

$ docker run -it -u $(id -u):$(id -g) -w $PWD -v /home:/home containers.ligo.org/lscsoft/bayeswave/dependencies:el7
$ mkdir dist
$ pushd dist
$ cmake3 ..
$ cmake3 --build . --target package_source

(Noting that the Cmake executable in the BayesWave dependencies image is called cmake3).

On success, this should produce a compressed tarball bayeswave-X.Y.Z.tar.xz, where X.Y.Z is your tag version.

Upload Source Tarball

Acquire the upload script lscsrc_new_file.sh from UWM. If using linux (rather than OSX), make sure you change the call to gmktemp to mktemp:

#SKTFILE=`gmktemp --dry-run`
SKTFILE=`mktemp --dry-run`

Run the script to upload the tarball:

$ sh ~/Downloads/lscsrc_new_file.sh bayeswave-X.Y.Z.tar.xz

Open SCCB Request

Full instructions available here. Briefly:

  1. Open a ticket

  2. Invite your reviewer to post a comment indicating review sign-off.

Deployment

The process now leaves the BayesWave team’s hands and packages will be built and deployed using the provided tarball, pending SCCB approval.