Distribution Team usage of Renovate
Common links
Introduction
We use Renovate to monitor external repositories, and open a merge request to the appropriate project when an upgrade is released.
The projects currently using this are
All dependencies for a repository are defined in the Renovate bot repository.
Handling Merge Requests
When a merge request for the project is opened, Renovate will assign a reviewer using reviewer roulette.
It is the responsibility of the entire Distribution team to ensure the merge requests are handled in a timely fashion. Team members should assign available merge requests to themselves, removing the other assignees, when they are going to work on them. The team member needs to determine the appropriate milestone to target for the upgrade, and verify the new software version works as expected. If everything looks good, a changelog entry should be added, and the merge request assigned to a maintainer.
omnibus-gitlab
The pipeline for the merge requests should run a triggered pipeline, which will build a package, and run gitlab-qa against the package. Depending on the software, manual testing may be required. Once satisfied, a changleog entry should be made, and the merge request should be assigned to a maintainer.
CNG
The pipeline will build a new set of images using the required software. An instance of the helm charts should be started, and testing done against that instance. Once complete, the MR should be assigned to a maintainer for merging.
charts/gitlab
The pipeline will install a review app version of the chart, and both spec and QA tests are run against the review app. Depending on the software, manual testing may be required. Once satisfied, a changelog entry should be made, and the merge request should be assigned to a maintainer.
Debug Renovate
To debug Renovate, check the logs and artifacts generated by the MR pipeline. An example can be found in this merge request.
Debug Renovate locally
It can be useful to debug Renovate locally for faster feedback, as the pipeline takes time to execute.
Here is a snippet that describes how to test locally.
Additional Information
- Additional information can be found in Distribution: Renovate Gitlab Bot 101.
- Specific instructions for adding new dependencies are located in the Renovate Gitlab docs.
4fbb04e9
)