Renovate doesn't upgrade nodejs in Dockerfile if it was already merged in .nvmrc #21688
Replies: 12 comments
-
For now, either:
A solution for next time if possible is to wait until all your Node.js versions have been updated before merging. Otherwise, this is a challenging problem. It's designed so that you can close a PR to skip a particular version and not have it reopened. But in this case the Docker ones came after you already merged the nvm reference. I'm thinking whether I need to remove the merged blocking and only keep in closed blocking. |
Beta Was this translation helpful? Give feedback.
-
Obviously I’m missing lots of context on the internals of renovate, but wouldn’t it be possible to use a ‘docker’ prefix for branches targeting dockerfile, like with other docker image updates? |
Beta Was this translation helpful? Give feedback.
-
Right now, combining all Node.js updates into a single PR is "a feature, not a bug". The problem is if they don't come close enough together that you start merging already. Our default is to use a |
Beta Was this translation helpful? Give feedback.
-
I've just noticed that for my second
This might be a separate issue. |
Beta Was this translation helpful? Give feedback.
-
Yes probably a separate issue |
Beta Was this translation helpful? Give feedback.
-
Enabling |
Beta Was this translation helpful? Give feedback.
-
Thanks very much for your help troubleshooting |
Beta Was this translation helpful? Give feedback.
-
Todo: turn the Node.js grouping into a rule instead of hardcoding it |
Beta Was this translation helpful? Give feedback.
-
Hi! We had a similar problem with What happened was:
I think the solution here is to differentiate between "closed without merging" and "closed since merged", and only skip opening a new PR for the former not the latter. |
Beta Was this translation helpful? Give feedback.
-
The problem was what happens after someone rolls back a bad release that was previously accepted/upgraded. In such cases, is it acceptable to raise a “duplicate” PR after the rollback that then needs to be Closed without merging in order to disable that version? And the bigger problem was if that was set to automerge! Renovate would keep automerging the faulty version. But maybe we can try to disable automerge the second time of a previously merged PR was found. |
Beta Was this translation helpful? Give feedback.
-
I just ran into this same situation and wanted to propose a counter point to your statement "what happens after someone rolls back a bad release that was previously accepted/upgraded." Right now what I've been doing whenever I rollback a bad version is update the I'm having to currently run with |
Beta Was this translation helpful? Give feedback.
-
I suggest you use masterIssue: true instead. It gives visibility into closed PRs |
Beta Was this translation helpful? Give feedback.
-
What Renovate type are you using?
Renovate GitHub App
Describe the bug
I have a repo that contains React app with
.nvmrc
file and 2 differentDockerfile
files that include nodejs docker image. Renovate created a PR for.nvmrc
update but it never created PRs forDockerfile
upgrades.Note that docker images for nodejs always show up a few days after the release, so I didn't expect those upgrades to happen all at once.
After checking today if nodejs images are ready I was surprised to see that they are there for at least a day, but Renovate didn't create any PRs, which I expected to happen.
Did you see anything helpful in debug logs?
If you are using the Renovate App, log into https://renovatebot.com/dashboard and locate the correct job log for when the problem occurred (e.g. when the PR was created).
I did look at logs and I think the issue is caused by renovate using same branch for all nodejs upgrade (regardless if it's docker or nvmrc). Here are the logs that seems to suggest this:
Renovate correctly identifies that there are updates available for my Dockerfiles:
But later logs show that it decided not to raise the PR for it because there is already merged branch with that name:
Looking at other log lines I see that other docker PRs are using branch names with
docker
prefix:Link to debug logs - https://renovatebot.com/dashboard#github/prymitive/karma/49396930
Logs mention
recreateClosed
option, and I guess that enabling it could potentially be a workaround for this, but the documentation states thatrecreateClosed
shouldn't be needed normally, which seems to confirm that the observed branch collision is likely a buggy behaviour.To Reproduce
Steps to reproduce the behavior:
.nvmrc
Dockerfile
that uses officialnodejs
imagesExpected behavior
Renove should upgrade nodejs in both
.nvmrc
and allDockerfile
files.Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Beta Was this translation helpful? Give feedback.
All reactions