Build Time Exceeds 1h

Hello Team,

We have a job that has started to fail recently while resolving dependencies while installing Renku. As far as I can see the problem is that a fresh build takes too long (excess 1h). Would it be possible to increase the build time limit for this repository? The builds usually take 20seconds, only these recent ones are a problem.

The repo in question: Mirko Birbaumer / HSLU Statistical Data Analysis I · GitLab

Kind regards,
Pascal

That sounds like a likely cause for the problem you are seeing since the default build time limit is 1h (my access rights to your project do not let me verify this, though).

You need to go to GitLab to fix this, so it is a bit tedious, but it is something you can do yourself.

  1. Access the project in GitLab

  1. Go to the CI/CD settings

  1. Expand the General Pipeline settings

  1. Update the build time limit and save settings

Let us know if that fails to fix the problem or you have difficult carrying out these steps.

1 Like

Thank you very much @cramakri, should have thought of that myself as well! But your instructions we’re very easy to follow and I changed the timeout now, the build is running again, so let’s see how it turns out!

Hello @cramakri, in my private fork you can see that the build only take this long when the Renku upgrade code is run:

Is this code snippet old and should be updated? Because leaving it commented out is obviously not a solution.

Looking at the commit history of this project, I see that you recently updated from renku version 0.10 to 0.13

- ARG RENKU_BASE_IMAGE=renku/renkulab-py:3.9-0.10.1
+ ARG RENKU_BASE_IMAGE=renku/renkulab-py:python-3.9.12-0.13.0

After a change like that, it is necessary to upgrade renku in your image, since otherwise the version will be out of date.

I looked at the run log of the job, and see that pip has difficulty updating the ruamel.yaml package to ruamel.yaml-0.15.11.tar.gz. The log is essentially full of failed attempts to install the new version. Not sure why this is, but I will bring in one of our python devs into this conversation. They should be able to provide some insight.

I updated to the newer base image because the repo of my advisor where I forked it from to troubleshoot had the same problem on the lower version:

I thought that maybe an update might mitigate the errors while installing (and 0.10.1 was a really old version).
Thank you for your efforts by the way =)

Just a quick update here – one of our python devs is looking into this. He has identified the cause of the problem: some dependencies are not pinned. He is trying to come up with a solution and will answer when he has something.

Thank you for the update, that sounds perfect!

Feel free to ping me if you need a guinea pig/repo :smiley:

@cramakri An update from my side: I managed to successfully build the image by updating the base image and the Renku version that gets installed:

# https://github.com/SwissDataScienceCenter/renkulab-docker
+ ARG RENKU_BASE_IMAGE=renku/renkulab-py:python-3.9.12-0.13.0
...
+ ARG RENKU_VERSION=1.8.0
########################################################
1 Like

So Session start was successful as well:
image
So the problem was in trying to update from 1.6.0 via the upgrade script

Hello,

Upgrading to the latest renku version is the best solution if it’s an option for you. There are many improvements and new features that come with newer versions of Renku.

Please note that you also need to migrate your project to make it work with this new Renku version. Normally, it should be possible to migrate your project in the renkulab UI but currently there is an issue that prevents it from working (we are making a fix).

Meanwhile, to migrate your project manually, start a session and open a terminal window inside the session. Run renku migrate to migrate the project to the latest Renku version (1.8.0 in this case). Then push the project: git push.

Please let me know if it doesn’t work.

Kind regards,
Mohammad

Hi @mohammad-sdsc
I don’t see why that would not be an option as the Python version stays the same and the new Renku functions are nice. I did as you are told and it worked perfectly


Tell me if you still need me to test your script for the old configuration, otherwise I would mark this issue as solved =)

It’s solely a user requirement; some users prefer to stick with the same Renku version and don’t upgrade their env/project.

It’s fine on our side. I was trying to find what is the dependency issue with Renku v0.16.1 to make it installable. I’ll stop now since the new version is working for you.

Just FYI, Renku releases for versions > 1.0.0 include an additional renku-lock PyPI package which has all the dependencies pinned to avoid a similar problem that you’ve experienced. But again, upgrading is the best approach.

2 Likes

I will mark that as the preferred solution then if anyone else runs into the same problem, but they will also have the whole thread to debug their project anyway.
Thank you very much for your help @cramakri and @mohammad-sdsc!

2 Likes

Glad we were able to get that resolved!