|
| 1 | +# Use renovate to keep dependencies up to date |
| 2 | + |
| 3 | +[Renovate](https://github.com/apps/renovate) is a tool for automating dependency updates. It is used to: |
| 4 | +- Automatically update the [uv lock file](./lock-requirements.md) and automerge if tests pass |
| 5 | +- Update any dependencies in the Dockerfile |
| 6 | +- Update the versions of any GitHub actions not manager by the python-copier-template |
| 7 | + |
| 8 | +## Install the Renovate GitHub app |
| 9 | + |
| 10 | +The renovate app will: |
| 11 | +- Create weekly PRs to update the lockfile to the latest versions, automerging if tests pass |
| 12 | +- Create PRs for other dependencies whenever they are released, but not automerge |
| 13 | + |
| 14 | +If your repo is hosted in the DiamondLightSource org, then the Renovate GitHub app is already installed so you don't need to do anything. |
| 15 | + |
| 16 | +If your repo is in an org where the Renovate GitHub app is not installed, then follow these steps to install it on the org: |
| 17 | + |
| 18 | +- Visit https://github.com/apps/renovate |
| 19 | +- Click `Configure` |
| 20 | +- Select the org your repo is hosted in |
| 21 | +- Select `All repositories` and click `Install` |
| 22 | +- Select `Renovate Only` as the product |
| 23 | +- Select `Silent` as the mode |
| 24 | +- Click `Finish` |
| 25 | +- Click `Settings` |
| 26 | +- Select the `Dependencies` tab |
| 27 | +- Uncheck `Silent mode`, uncheck `Create onboarding PRs`, and click `Save` |
| 28 | +- Visit https://github.com/apps/renovate-approve |
| 29 | +- Click `Configure` |
| 30 | +- Select the org your repo is hosted in |
| 31 | +- Select `All repositories` and click `Install` |
| 32 | + |
| 33 | + |
| 34 | + |
| 35 | +Renovate will now run periodically to check for updates. |
| 36 | + |
| 37 | +## Pin the dependency dashboard issue |
| 38 | + |
| 39 | +Renovate will create a dependency dashboard when it first runs, this is the way you interact with the bot, requesting it to re-run. It is recommended that you pin this issue to your repo so you can find it easily. Select `Pin issue` in the right hand bar of the issue to do this. |
0 commit comments