renovate-presets/README.md
Presets makes rules easier to maintain and reusable across multiple repositories.
Reference the preset in the extends field of the renovate.json file in the repository.
Presets can reference other presets. (read more about shared presets)
{
"extends": [
"github>argoproj/argo-cd//renovate-presets/custom-managers/bash.json5"
]
}
It would make sense to move this folder to a new repository in the future.
Benefits:
renovate.json in each repository can be simplified to only include a single presets :
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"github>argoproj/renovate-presets//argoproj/argo-cd/renovate.json5"
],
// rules are empty and this file won't need to be modified again.
"packageRules": []
}
Inconvenient:
Example of repo structure :
.
├── README.md
├── .github/CODEOWNERS
├── common.json5 # common presets for all repositories
├── fix/
│ └── openssf-merge-confidence-columns.json5
├── custom-managers/
│ ├── bash.json5
│ └── yaml.json5
└── argoproj/ # organization
├── argo-cd/ # repository
│ ├── devtools.json5 # rules specific to the devtool (CI and dev environment...)
│ ├── docs.json5 # rules specific to the docs folder.
│ ├── # etc...
│ └── renovate.json5 # this is the single preset referenced from the repository argopro/argo-cd.
└── argo-rollouts/ # repository
└── renovate.json5