Description
Discussed in #35524
Originally posted by samgiz April 24, 2025
How are you running Renovate?
None
If you're self-hosting Renovate, tell us which platform (GitHub, GitLab, etc) and which version of Renovate.
GitHub, Renovate version 39.238.1
Please tell us more about your question or problem
Renovate does not handle updates for grouped packages correctly when they appear in multiple files, and a new package update appears.
I've observed this bug specifically when updating tauri-monorepo
packages, which groups together cargo and pnpm packages. Seemingly there is a race condition when different packages get added to npm / cargo repositories, and then Renovate ends up:
- Creating a PR with some of the updates
- Finds an update for another package in the group at a later time
- Gets in an infinite loop of either only updating cargo or pnpm packages in the PR.
I've done a small investigation into what causes this behaviour and it's approximately:
- See that there's a new package update so the PR needs updating
- Find all the package files that need updating
- Check out to the base branch
- Only apply the update to files that need updating, make the commit and force-push the PR
This seems like a fundamentally wrong approach to me. Renovate should be including files that are already part of the PR but don't need to be changed, otherwise you end up with the looping behaviour as observed.
I've created a reproducer.
Logs (if relevant)
No response