Add a diff view of CI artifacts

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

Problem to solve

Make it possible to show differences between versions of CI artifacts as well as differences between the source

Intended users

Everyone

Further details

In an earlier issue #20343 (closed), I proposed that we should be able to review visual differences of other files besides images. In a later comment I noted a couple of other steps that could be taken to make that happen.

Proposal

CI artifact browsing, commit view, and/or merge request view should include the ability to show a diff between this artifact and a previous version of that artifact, in the same way that you can do in the source code or source images for commit & merge request views.

This would allow CI jobs to render visual artifacts from source files (such as latex to PDFs, or electronic design files to PDFs or PNGs) and maintain the source repository as a single source of truth without having to clutter it up with binary artifacts that can often get out of sync if they aren't committed at the same time as the corresponding change in source.

Permissions and Security

Anyone with view access to repository and CI artifacts should be able to view.

Documentation

Testing

Will need to copy the tests done for diff views.

What does success look like, and how can we measure that?

Success: a user can view the differences between outputs of CI jobs with the same diff viewers as the source blob viewer.

Example:

Commit 1: add a schematic.sch along with a corresponding CI job definition in .gitlab-ci.yml that produces an image view of the schematic in the artifacts: schematic.png
Commit 2: change something in schematic.sch

Either:

  • In the sidebar for the CI job, there is a "Changes" button next to the "Browse" button, or
  • In the browser for the artifacts, any file that exists in previous commits has a "Changes" button to view a history of that file in a similar manner as the history view of a source blob, or
  • In the commit / merge request view, the changes include CI job output changes in addition to source file changes

Viewing the changes for schematic.png will show an image diff viewer similarly to if schematic.png was manually generated and committed to the repo in those commits.

What is the type of buyer?

All of them

Links / references

Suggested /label feature devopscreate devopsverify image diff ~artifacts

Edited Aug 29, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading