Skip to content

Releasing

Tibor Šimko edited this page Oct 8, 2021 · 25 revisions

Prerequisites

1. Make sure that the release branch (e.g. maint-0.7 for bug fixes or master for new versions) has to: - Have a release commit as last commit - Have a tag pointing to the last commit - Pass the reana-dev run-ci test in production mode

2. Upgrade the base docker images of REANA components:

$ cd src
$ grep FROM r*/Dockerfile | awk '{print "docker pull " $NF}' | sort -u | zh

3. Make sure the site runs well on all release branches:

$ reana-dev git-status -c CLUSTER -c CLIENT -c reana
$ reana-dev run-ci -m /var/reana:/var/reana \
     --exclude-components=r-a-krb5,r-a-vomsproxy -c r-d-helloworld \
     --admin-email john.doe@example.org --admin-password xxxxxxxxx

Python packages

1. Release the package(s)

$ cd reana-db
$ reana-dev git-tag -c .
$ reana-dev release-pypi -c .
$ git push upstream maint-0.7
$ git push upstream tag 0.7.1

Docker images

1. Clean your environment

$ cd ~/mysrc/reana-server
$ reana-dev git-clean -c .

2. Build the image(s)

$ reana-dev docker-build -c .

3. Tag and release the image(s)

$ reana-dev git-tag -c .
$ reana-dev release-docker -c .

4. Push branch, tag to upstream and create GitHub release from tag with the content from CHANGES.rst.

Helm Charts

1. Upgrade to the latest cluster component versions:

$ reana-dev helm-upgrade-components

2. Create new release tag locally, push release branch to GitHub, and clean your local GitHub Pages branch:

$ reana-dev git-tag -c .
$ git clean -d -ff -x
$ git push upstream master
$ (git checkout gh-pages && git fetch upstream && git reset --hard upstream/gh-pages && git checkout -)

3. Bump the chart version and release it (CR_TOKEN should be a GitHub personal token with write:packages permissions):

$ read -s CR_TOKEN
$ export CR_TOKEN=$CR_TOKEN
$ cr upload --help | grep release-name-template # check whether you have cr>1.0.0 version with --r-n-t flag
$ reana-dev release-helm
$ (git checkout gh-pages && git log -1 -p && git push upstream gh-pages && git checkout -)

The new version will be visible in the REANA Helm repository shortly after.

Note. Remember to merge docs.reana.io's next branch if appropriate to have the latest docs, as well as updating blog.reana.io and www.reana.io.