Failing image_build

So this issue was originally introduced by a breaking change in setuptools 58 that broke quite a few old packages. We fixed it in the renku 0.16.1.post1 hotfix and also collaborated with some downstream dependencies so they could fix it, which they did.

Only pyshacl fixed it in version 0.17.0 but then they broke it again in 0.17.0.post2 where they reintroduced the obsolete rdflib-jsonld library. Which in turn unfixed our hotfix release.

There is another issue where the templates have been updates for a new feature that will be included in the next version of renku, but the fallback that we provided for the templating engine didn’t work, that’s why you’re getting the new error.

Your Dockerfile currently looks like

[...]
ARG RENKU_VERSION={{ __renku_version__ | default("0.16.1.post1") }}

########################################################
# Do not edit this section and do not add anything below

# Install renku from pypi or from github if it's a dev version
RUN if [ -n "$RENKU_VERSION" ] ; then \
        source .renku/venv/bin/activate ; \
        currentversion=$(renku --version) ; \
        if [ "$RENKU_VERSION" != "$currentversion" ] ; then \
            pip uninstall renku ; \
            gitversion=$(echo "$RENKU_VERSION" | sed -n "s/^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+\(\.dev[[:digit:]]\+\)*\(+g\([a-f0-9]\+\)\)*\(+dirty\)*$/\3/p") ; \
            if [ -n "$gitversion" ] ; then \
                pip install --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\
            else \
                pip install --force renku==${RENKU_VERSION} ;\
            fi \
        fi \
    fi

The {{ __renku_version__ | default("0.16.1.post1") }} is a mistake, the templating engine should have replace that with 0.16.1.post1 in old versions of renku, but clearly it didn’t. We’ll look into that.

if you change the end of your Dockerfile to

ARG RENKU_VERSION=0.16.1.post1

########################################################
# Do not edit this section and do not add anything below

# Install renku from pypi or from github if it's a dev version
RUN if [ -n "$RENKU_VERSION" ] ; then \
        source .renku/venv/bin/activate ; \
        currentversion=$(renku --version) ; \
        if [ "$RENKU_VERSION" != "$currentversion" ] ; then \
            pip uninstall renku ; \
            gitversion=$(echo "$RENKU_VERSION" | sed -n "s/^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+\(\.dev[[:digit:]]\+\)*\(+g\([a-f0-9]\+\)\)*\(+dirty\)*$/\3/p") ; \
            if [ -n "$gitversion" ] ; then \
                pip install --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\
            else \
                pip install --force renku==${RENKU_VERSION} pyshacl==0.17.0.post1 ;\
            fi \
        fi \
    fi

it should work