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.