Skip to content
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

Prepare for having Renovate add separate PRs for branch_9x #3057

Merged
merged 2 commits into from
Jan 23, 2025

Conversation

janhoy
Copy link
Contributor

@janhoy janhoy commented Jan 23, 2025

Now that main branch uses gradle version catalogs (#2706), dependency upgrades cannot be easily back ported to branch_9x anymore, unless the version catalogs are back ported as well.

Also, many features are removed in main that still exist in branch_9x, so we will miss out on certain dep updates if we only rely on manual backports.

Therefore I propose, and will test with dryRun, that @solrbot files separate PRs for branch_9x, using the baseBranches feature. For that to work we define useBaseBranchConfig=merge so that we can use renovate.json on this branch as an overlay, specifying configs that differ from main and giving a PR title suffix etc. Steps:

  • Place a renovate.json config in branch_9x, which targets old versions.properties and acts as overlay
  • In solrbot repo, configure baseBranches and useBaseBranchConfig
  • Do a dry run and verify that it works

Once Solr 10 is released, we can redefine this to target latest branch_9_x which will have a long life in bugfix mode.

@janhoy janhoy changed the title Prepare for running a separate Renovate workflow for branch_9x Prepare for having Renovate add separate PRs for branch_9x Jan 23, 2025
@janhoy janhoy requested review from epugh and malliaridis January 23, 2025 13:14
Copy link
Contributor

@epugh epugh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.. This type of configuration always looks a bit magical to me! Reading it though makes sense...

Copy link
Contributor

@malliaridis malliaridis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having separate PRs for 9 would be great, as many PRs cannot be backported or require a multi-step update to update all branches accordingly, polluting the main branch with unnecessary commits. With separate PRs we will be able to close PRs that depend on a JDK greater than 11 or unsupported releases of libraries like Jetty. And we will still be able to update dependencies with minor and patch releases as before.

We still have "double the effort", but Solrbot would handle a large chunk of workload this way.

With useBaseBranchConfig do we no longer need to include the packageRules defined in main?

@janhoy
Copy link
Contributor Author

janhoy commented Jan 23, 2025

With useBaseBranchConfig do we no longer need to include the packageRules defined in main?

Yes, but the branch-specific renovate.json inherits from the one on main, we only need to define settings that should override the main ones, so we'll inherit packageRules. At least according to docs and ChatGPT 🤣

@janhoy janhoy merged commit ad9f0f6 into apache:branch_9x Jan 23, 2025
1 of 2 checks passed
@janhoy janhoy deleted the renovate-branch9x branch January 23, 2025 19:10
@janhoy
Copy link
Contributor Author

janhoy commented Jan 23, 2025

This effort was tested, but Renovatebot went crazy and autoclosed all PRs, and no PRs were created for branch_9x.

Turns out, despite not being mentioned in the docs for baseBranches, this feature is not available in "forking" mode, which we use. Problem is that the bot uses github API to fork and sync the solr repo, but that code is only built to sync the main branch, not other baseBranches. But instead of exiting cleanly, it just tries stuff. Open issue: renovatebot/renovate#7850

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants