Upgrading your Renku project¶
The Renku Project is in constant flux! This means that often there are changes
to RenkuLab (e.g. the web platform (UI) and the knowledge graph (KG)), and the
renku command-line interface (CLI). These docs will explain how to benefit from
changes to the renku CLI when you’re using a session on RenkuLab.
You can find the changes in the renku-python docs.
If you’re instead looking for a list of new features available in RenkuLab, they are announced in the Release notes. When we update components of the RenkuLab platform, you won’t usually have to do anything special. E.g. when we added the ability for anonymous (not logged in) users to launch sessions, each project was immediately accessible without the project owner needing to change any settings.
Upgrading your image to use the latest renku CLI version¶
Note
This section is for upgrading the version of renku CLI installed into
the Sessions on RenkuLab for your project. See Upgrading
for upgrading your local machine’s version of renku.
When we release a new version of the renku CLI, you do have to make some
(minimal) changes to the Dockerfile in your project to ensure that the
Session on RenkuLab will use the image with the correct version.
The version of the renku CLI is defined in the base image specified in the
FROM line (usually line 1) of the Dockerfile in your repo.
Replace this line with the latest available image for the “flavor” you’re using, which you can find by:
checking the renkulab-docker repo README.md for the naming conventions of the “flavor” of image you’re updating (e.g. if you’re using the “minimal python project”, you will look in the
pysection)visiting the dockerhub page linked in the naming conventions section in the above
READMEchoosing the latest available tagged image
Note that the version of the renku CLI is defined in the image name. For example,
renku/renkulab-py:3.7-renku0.10.4-0.6.3 has CLI version 0.10.4. Please choose
an image with the renku version specified (e.g. -renku0.10.4- and not -renku-),
unless you absolutely need the latest development version of renku, since it makes
debugging and reproducibility much simpler.
Push your changes (either from the GitLab editor, or in a running Session), and start up a new Session from the latest commit to use this new image.
When you start to run
renkucommands, you might be asked to callrenku migrate. This command ensures that the metadata in your project is updated.
Test drive¶
If you just want to try out the latest version of renku without building a new
image yet, you can follow the pipx installation instructions from
upgrading your local installation. Installing in this way,
like any other terminal install, will not hold through the next time you launch.
Keep in mind that your project’s metadata will be upgraded when you start running
the new version renku commands - don’t push these changes if you want to revert
back to an older version.
You should follow the steps in the previous section to swap out the base image
once you’re satisfied with latest renku.
Only updating the renku CLI¶
If you want to use the latest version of renku but for some reason cannot rebuild
from scratch the rest of the docker image layers for your project (e.g. dependency issues),
you can add the pipx installation from
upgrading your local installation to the end of your Dockerfile;
e.g. RUN pipx install renku==<VERSION> --force.
When the gitlab CI builds an image using the Dockerfile in your project, it
re-uses layers of installs that haven’t changed between builds, which speeds up
the build process. But, when you swap out the base image (as is recommended), all
of the subsequent layers might need to rebuild.
We still recommend swapping out the base image when possible.