dotnet / dotnet/arcade

Renovate: Include extra context in PRs generated for Docker digest updates

Open
#16,602 0 comments 1 reaction 1 assignee Claimed by @mthalman View on GitHub
Dominant language
C#
Stars
729
Forks
397
Avg merge
3d 15m
Merged PRs (30d)
149

Description

For scenarios like https://github.com/dotnet/runtime/issues/113455, the PRs that are generated by Renovate to update the digest value are a bit obscure. The reviewer doesn't know what triggered the change. It could have been because of a simple rebuild in response to a base image update. Or it could be because something in the Dockerfile had changed, such as an update to the LLVM version. Having this information is helpful to the reviewer so that they can know how to proceed, whether additional ad hoc testing might be necessary, for example.

Renovate doesn't provide that information currently. There would need to be custom implementation to extract this. The most important bit of information is to know what the commit URL of the updated image is. If the commit URL is different, then you know the Dockerfile content has changed and can include a link to the GitHub commit comparison for the Dockerfile. Assuming that the image in question is a .NET image, getting this information would currently require parsing of the [image info file](https://github.com/dotnet/versions/tree/main/build-info/docker), looking up the image digest and getting its commit URL. However, a more proper implementation would be to make use of OCI image annotations that directly provide the commit URL with the image. This would be a dependency on https://github.com/dotnet/docker-tools/issues/1602.

Once the diff information is derived through the custom logic, there would need to be logic that posts that content to the generated PR after Renovate had created it. Renovate doesn't provide hooks to customize the content for a scenario like this.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.