Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only update package 'X' if there is also an update for package 'Y' #19645

Closed
JoostvdB94 opened this issue Jan 3, 2023 · 5 comments
Closed

Only update package 'X' if there is also an update for package 'Y' #19645

JoostvdB94 opened this issue Jan 3, 2023 · 5 comments
Labels
status:requirements Full requirements are not yet known, so implementation should not be started type:feature Feature (new functionality)

Comments

@JoostvdB94
Copy link
Contributor

What would you like Renovate to be able to do?

I would like to specify rules for a group of dependencies in a way that an update would only be suggested if another package is also updated.

In the current situation it might be possible that the following scenario occurs:

  • OpenSearch is updated (container / docker)
  • The Helm template for the new OpenSearch is not yet available (helm)

When running Renovate, we I would like to be notified of a new OpenSearch update only when a new version of Helm (targetting that updated image) is also available.

The current grouping functionality makes a PR when at least 1 of the artifacts matching the criteria is updated. Could there also be a way to specify that there should only be a single PR when both OpenSearch and its Helm template are updated?

If you have any ideas on how this should be implemented, please tell us here.

Add a packageRule where a condition can be specified that checks other package upgrades (within the same group)

I have found something that might already be implemented, but the documentation about this is quite unclear:

  • matchDepName
  • matchDepPatterns

Which, by the name, might be used to specify dependencies for the group? Or am I mistaken?

Is this a feature you are interested in implementing yourself?

No

@JoostvdB94 JoostvdB94 added priority-5-triage status:requirements Full requirements are not yet known, so implementation should not be started type:feature Feature (new functionality) labels Jan 3, 2023
@viceice viceice changed the title Only update package 'X' if there is also an update fot package 'Y' Only update package 'X' if there is also an update for package 'Y' Jan 3, 2023
@viceice
Copy link
Member

viceice commented Jan 3, 2023

This isn't possible yet and the mentioned fields do work like the packageName fields.

@viceice
Copy link
Member

viceice commented Jan 3, 2023

I like that idea in general, but this seems to be very complicated to implement

@rarkins
Copy link
Collaborator

rarkins commented Jan 3, 2023

A way of solving this would be something like a generic "minimumUpdates" field for groups where the branch isn't created unless at least that number is met. Eg 2

@JoostvdB94
Copy link
Contributor Author

@rarkins Thanks for your suggestion! That would fix 90% of the problems and indeed sounds much simpler.

However, it does not work so well for groups that are made based on patterns. In that case you cannot know the number of other updates.

Let's imagine the following scenario
We have applications A, B, C and D

Applications B, C and D all use resources exposed by application A.

You could specify the minimum number of updates to 2 and hope that when B changes, A changes too.
But when B and C update but A is unchanged, you would still get a PR suggesting an upgrade.

A more deterministic approach would be to specify package dependencies.
B depends on A
C depends on A
D depends on A

But if we can count the number of package updates in a group, we should also be able to see and check what packages are in that group, right?

@rarkins
Copy link
Collaborator

rarkins commented Jan 4, 2023

What percentage would you reach if you also combine with minimumReleaseAge setting? Eg wait a day or more before raising the PR. How often would A trail B,C,D?

@renovatebot renovatebot locked and limited conversation to collaborators Oct 1, 2023
@rarkins rarkins converted this issue into discussion #24826 Oct 1, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
status:requirements Full requirements are not yet known, so implementation should not be started type:feature Feature (new functionality)
Projects
None yet
Development

No branches or pull requests

3 participants