Skip to content

Releasing

Tibor Šimko edited this page Jan 12, 2026 · 31 revisions

Contents

  1. Prerequisites
  2. Releasing Python packages
  3. Releasing Docker images
  4. Releasing Helm charts

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 the last commit
  • have a tag pointing to the last commit

2. Upgrade the base docker images of REANA components:

cd ~/mysrc/
find . -name Dockerfile -exec grep 'FROM ' {} \; | awk '{print "docker pull " $2;}' | grep -v BUILDPLATFORM | sort -u | sh

3. Optionally, update all dependencies in cluster components:

Note: Make sure you are using the same version of Python that is used in cluster components when updating dependencies.

cd reana-workflow-engine-serial
grep 'pip-compile \-' requirements.txt | awk '{print substr($0,3) " -U"}' | sh
git commit -a -m 'installation: bump all dependencies'

4. Make sure the site runs well in production mode with 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-rucio,r-a-vomsproxy -c r-d-helloworld \
     --admin-email john.doe@example.org --admin-password xxxxxxxxx

Releasing Python packages

cd reana-db
reana-dev git-tag -c .
reana-dev release-pypi -c .
git push upstream tag 0.95.0a3

Releasing Docker images

cd ~/mysrc/reana-server
reana-dev git-clean -c .
reana-dev git-tag -c .
reana-dev release-docker -c .
reana-dev release-docker-copy -c .
git push upstream tag 0.95.0-alpha.3

Note. If needed, remember to build and push the REANA-Job-Controller image with HTCondor and Slurm support.

# CERN image (amd64 only, due to HTCondor)
reana-dev release-docker -c reana-job-controller \
    --image-name reana-job-controller-htcondorcern-slurmcern \
    -b COMPUTE_BACKENDS=kubernetes,slurmcern,htcondorcern \
    --platform linux/amd64
reana-dev release-docker-copy -c reana-job-controller \
    --image-name reana-job-controller-htcondorcern-slurmcern

# Compute4PUNCH image (multi-arch, uses default platforms)
reana-dev release-docker -c reana-job-controller \
    --image-name reana-job-controller-compute4punch \
    -b COMPUTE_BACKENDS=kubernetes,compute4punch
reana-dev release-docker-copy -c reana-job-controller \
    --image-name reana-job-controller-compute4punch

Releasing 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.

Clone this wiki locally