Skip to content

Renovate looping bug for grouped dependencies over multiple files #36615

@rarkins

Description

@rarkins

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:

  1. Creating a PR with some of the updates
  2. Finds an update for another package in the group at a later time
  3. 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:

  1. See that there's a new package update so the PR needs updating
  2. Find all the package files that need updating
  3. Check out to the base branch
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority-2-highBugs impacting wide number of users or very important features

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions