Branch master was renamed to main.
renovate
Automated dependency updates. Multi-platform and multi-language.
- Category: Utilities
- Status: 3
- Image:
renovate/renovate, 4, upstream - Healthcheck: n/a
- Backups: n/a
- Email: n/a
- Tests: 2
- SSO: n/a
Quick start
- First deploy swarm-cronjob
- Obtain an API token for your target git forge. For example, here are the docs for Gitea/Forgejo.
- Renovate also recommends obtaining a github.com token to fetch changelogs and to avoid rate limits. If your target git forge is github, this can technically be the same token as in step 1.
abra app new renovateabra app config <app-name>(point it to your git forge and enable any optional secrets)- Set the tokens obtained in steps 2 and 3:
abra app secret insert <app-name> renovate_token v1 abra app deploy <app-name>
This recipe runs Renovate as a cronjob every hour (configurable via CRON_SCHEDULE) to check for dependency updates in a target set of git repositories. If it discovers a dependency that needs updating, it will create a pull request to update it.
You can configure how Renovate behaves with a renovate.json file in each target repo. Renovate will not run on a repo unless this file exists. By default, Renovate will attempt to "onboard" any new repo by creating a pull request to create the renovate.json file.
For more information please refer to the Renovate documentation.
Using Renovate for coop-cloud recipes
If you store your recipe .env files in git, you can use Renovate to automatically bump recipe versions. To do this, add the following to the end of your renovate.json (courtesy of p4u1):
{
"customManagers": [
{
"customType": "regex",
"managerFilePatterns": [
"/^servers\\/.*\\/.*\\.env$/"
],
"matchStrings": [
"(RECIPE|TYPE)=(?<depName>.*?):(?<currentValue>.*.*?)"
],
"datasourceTemplate": "gitea-tags",
"depNameTemplate": "coop-cloud/{{depName}}",
"registryUrlTemplate": "https://git.coopcloud.tech/"
}
]
}