Distribution Team usage of Renovate

Describes the external GitLab Projects used by the Distribution Team, how to handle MRs from these, and resources for Renovate maintenance and new dependency addition.

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