Renovate seems to freeze on git push. Timeout value needed? #24792
Replies: 3 comments
-
I see this more a feature than a bug in renovate. I think we can accept a pr wich adds a timeout option object, which can have different timeout options (we have a lot other timeouts to add there later). Maybe we can simply add the timeout to hostRules and apply to git when applicable. Another questions is how to configure timeouts for caches? 🤔 @rarkins what do you think? |
Beta Was this translation helpful? Give feedback.
-
We should have a sensible default timeout for |
Beta Was this translation helpful? Give feedback.
-
Related: #9708 |
Beta Was this translation helpful? Give feedback.
-
Self-hosted Gitlab, Renovate CLI v24.119.4 running in a scheduled gitlab pipeline
Describe the bug
Recently in the last week I noticed Renovate seems to freeze on a particular repo. Renovate processes the repo all up until just past git commit, and then freezes completely until the gitlab pipeline reaches its maximum runtime and ends with a failure. Unfortunately that means Renovate doesn't scan the planned repos after this repo either.
I suspect it may be a bug with a new pre-receive git hook that was implemented by my org on the server-side of our git origin. I've seen reports in my org that git pushes have been hanging for developers on this new pre-receive git hook for the https protocol only, and it appears that is what renovate uses for Gitlab. The suggested workaround for now is to use git with ssh. I'm not sure how to have Renovate use SSH instead for git.
I'm not certain of the cause yet, and I suspect renovate is not the reason. However, I was wondering if renovate's git.push should implement a reasonable timeout? I am not certain what the upper bound time of a git.push would be to specify though. I would think best would to be measure at scale and decide given the data. Another option would be to specify a timeout which is very generous.
Relevant debug logs
It can be seen here that renovate finishes committing but then the job ends after its maximum runtime of 3hrs. I believe renovate is trying to git.push next based upon reviewing the code
Click me to see logs
Have you created a minimal reproduction repository?
Please read the minimal reproductions documentation to learn how to make a good minimal reproduction repository.
Additional context
I saw SimpleGit does have a timeout option/plugin that might work
Beta Was this translation helpful? Give feedback.
All reactions