Ever struggled to set up Renovate with Backstage repositories?
You are not alone! π€
I have created a set of Renovate presets over the last few months that can be used to configure Renovate for Backstage repositories, which I want to share with you today.
Why
Renovate is a great tool to keep your dependencies up-to-date. But it can be a bit tricky to set up Renovate as it comes with a lot of knobs and configurations. This is especially true for Backstage repositories, as they have a specific structure and expect to have dependencies updated in a specific way.
What does it do?
The provided presets are opinionated and are meant to be used for Backstage repositories. They contain a set of rules that are meant to be used for most Backstage setups.
These features include:
- Renovate based upgrades to the latest Backstage release
- Group Backstage updates together
- Prevent upgrades to frameworks that are not supported by Backstage
- Group all PRs based on the plugin. Therefore, all updates of the
catalog
are grouped together includingcatalog
,catalog-backend
and so on
Usage
To use these presets, you need simply to add a new extends
entry to your renovate.json
file.
Here is an example of how to use the default
preset which will work for any Renovate instance whether it is self-hosted or not:
{
"extends": [
"github>secustor/backstage-renovate-config"
]
}
If you want to use specific features of the hosted Mend App or you are self-hosting Backstage then you can choose the specific preset like this:
{
"extends": [
"github>secustor/backstage-renovate-config:self-hosted.json5"
]
}
A real life example of how to use this, can be found in my Backstage plugins repo secustor/backstage-plugins
For more information on how to configure Renovate presets, see the Renovate documentation
And that’s it! π
If you have any questions or feedback, feel free to reach out to me via issues on the Github repository secustor/backstage-renovate-config
.