diff --git a/doc/build.sh b/doc/build.sh old mode 100644 new mode 100755 index 150e33916ca642c328cda4619dd6a2430309415a..955ccd81d711b848509d51c1cc7d12484f5edbdc --- a/doc/build.sh +++ b/doc/build.sh @@ -15,6 +15,7 @@ cat >> index.rst << EOF quickstart running examples + releasing EOF # run sphinx diff --git a/doc/conf.py b/doc/conf.py index 4f52a0ff4d85b8189c98af84eca90cdc19200581..4f5141eccc50a636b7641f58c8d16dafac3eff23 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -22,7 +22,7 @@ copyright = '2019, Neil J. Cornish, Tyson B. Littenberg' author = 'Neil J. Cornish, Tyson B. Littenberg' # The full version, including alpha/beta/rc tags -release = '1.0.4' +release = '1.0.3' # -- General configuration --------------------------------------------------- diff --git a/doc/releasing.md b/doc/releasing.md new file mode 100644 index 0000000000000000000000000000000000000000..6662fcd7872417911e146c2ee6c1ca95836f2280 --- /dev/null +++ b/doc/releasing.md @@ -0,0 +1,58 @@ +# Preparing A Release + +Procedure: + 1. [Create a tag](#create-a-tag) + 1. [Build A Release Tarball](#build-a-release-tarball) + +## Create a tag +Tag the state of the repository you'd like to release: [create new tag in +gitlab](https://git.ligo.org/lscsoft/bayeswave/-/tags/new). See [previous +tags](https://git.ligo.org/lscsoft/bayeswave/-/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.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](https://docs.ligo.org/lscsoft/conda/). + * `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 Adam Mercer. 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](https://docs.ligo.org/sccb/requests/). Briefly: + 1. [Open a ticket](https://git.ligo.org/sccb/requests/issues/new) + 1. 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.