These are Shareable Config Presets for SpotOn. It contains wide-use Renovatebot configs, based on our toolset and mindset.
If Renovate has already been activated for repo
-
Check to see if you have a
renovate.json
already. It can be in any of these possible locations. -
Change
renovate
config to:{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "local>SpotOnInc/renovate-config" ] }
After that, skip to step 3 below.
Otherwise:
-
Manually update as much as you can before moving forward. You will have the best experience with Renovate if you start with a fully-updated repo.
-
Activate Renovatebot Github App for your repo or ask your GitHub org administrators to enable it.
-
Renovate will create an init PR for the new repo - open it and check that it has:
{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "local>SpotOnInc/renovate-config" ] }
-
(Optional) We recommend moving the config to
.github/renovate.json5
. -
(Optional) If you use
pre-commit
we recommend adding next check to repo.pre-commit-config.yaml
:- repo: https://github.com/pre-commit/mirrors-prettier rev: v3.0.0-alpha.4 hooks: - id: prettier # https://prettier.io/docs/en/options.html#parser files: '.json5$'
-
Be sure that the
Dependency graph
andDependabot alerts
are enabled for the repo. Details. -
Merge PR and relax. Renovate will create PRs based on provided schedules. By default, you will see Renovate PRs on Mondays.
To change the default config, edit default.template.json5
and create a PR. The matching default.json
will be automatically generated and added after your PR is merged.
Note: If your new
default.json
config does not apply for more than 6 hours, create test repo and copy-paste the wholedefault.json
over and rename it torenovate.json
. Renovatebot will test the configuration and create issues if it found problems with the configuration. Or you can ask ChatGPT :)
To create a new release, go here.
If there are no releases for more than 30 days and in main
present something that is ready to be released - the release will be automatically triggered.
- How Renovate find/create/update PRs
TL;DR: Renovatebot checks branch names and PR titles. If PR is not found to match the branch - Renovatebot will create a new PR.
To recreate a closed PR, rename the closed PR.
-
- Organization level presets -
myorg/renovate-config/default.json
magic name - GitHub-hosted Presets
- Contributing to presets
- Preset Versioning
- Organization level presets -
-
Known limitations
Example: GitHub hosted app Mend checks each active repository roughly every three hours, if no activity has been seen before then (merged PRs, etc).- No rebasing if you have made edits (conflicting with pre-commit auto-fixes)
-
onboardingConfigFileName (self-hosted only).
Useful to change onboarding Renovate config file location.
-
How to edit branch names, commit messages, PR titles, and PR content
-
Separate
patch
andminor
releases of dependencies into separate PRs.
More details here -
:pinVersions - maintain a single version only and not SemVer ranges
-
:rebaseStalePrs - Rebase existing PRs any time the base branch has been updated.