Skip to content

Task to produce debdiffs

MUST: Implement a new Task that builds debdiffs between two source packages and two sets of binary packages

  • The artifact generated by this task should have a nice dedicated web view to show the results in a human friendly way
  • Need to think how to identify the previous version to compare with in the context of a workflow.

Proposed Design:

This feels like it requires several pieces:

  • A debian:debdiff artifact
  • A debdiff task
  • A debdiff workflow to compare a source package to one in another suite
  • A dedicated web view

Artifacts:

  • Create a new DebDiff artifact that:
    • Holds one or more text diff files.
    • Relates to each diffed artifact.
    • Has data that describes which artifact is A and which is B in the diff.

The Task:

  • Inputs:
    • Optional: sources, a list of two source package artifacts.
    • Optional: binaries, a list of 2 lists of binary package[s] artifacts.
  • Given sources, produce a debdiff between the two source artiafcts.
  • Given binaries, produce a debdiff between the two sets of binary artifacts. For each binary package present in one list only, produce a line describing the addition/removal of the binary package.
  • Given sources & binaries. Produce both debdiffs.
  • Attach the results to a DebDiff artifact.

The Workflow:

  • Inputs:
    • A debian:suite which is the baseline (A) of the diff
    • A debian:source package
    • A list of debian:binary package[s].
  • The workflow identifies the existing source and binary packages relating to the new source and binary packages, and creates a DebDiff task for the pair.

The Web View:

Ideas:

  • Collapsable sections for each file in source and each binary package?
  • Browseable by file / binary package?
Edited by Stefano Rivera
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information