-
Notifications
You must be signed in to change notification settings - Fork 54
Releasing
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-vomsproxy -c r-d-helloworld \
--admin-email [email protected] --admin-password xxxxxxxxx
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
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.
Note. If needed, remember to build and push the REANA-Job-Controller image with HTCondor and Slurm support.
$ reana-dev docker-build -c r-j-controller -b COMPUTE_BACKENDS=kubernetes,slurmcern,htcondorcern
$ docker tag docker.io/reanahub/reana-job-controller:latest docker.io/reanahub/reana-job-controller-htcondorcern-slurmcern:0.9.1-alpha.3
$ docker push docker.io/reanahub/reana-job-controller-htcondorcern-slurmcern:0.9.1-alpha.3
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
.
REANA reproducible analysis platform
blog.reana.io | docs.reana.io | forum.reana.io | www.reana.io |
@gitter | @mattermost | @twitter
Introduction
Getting started
- Setting up your system
- Cloning sources
- Using production-like development mode
- Using live-code-reload and debug mode
Issue lifecycle
Understanding code base
Technology tips and tricks
- Tips for Docker
- Tips for Git
- Tips for GitLab
- Tips for Keycloak
- Tips for Kind
- Tips for Kubernetes
- Tips for OpenAPI
- Tips for PostgreSQL
- Tips for Python
- Tips for RabbitMQ
- Tips for SQLAlchemy