Preparing A Release
Please familiarise yourself with this entire procedure before starting.
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:
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.