jkaluza / fedora-ci / c4

Forked from a deleted repository 2 years ago
Clone

jkaluza / fedora-ci / c4

Forked from a deleted repository 2 years ago
Compose Configuration Compare and Check tool
Members 1

Compose Configuration Compare and Check tool (C4)

Motivation

Before merging any compose configuration change, we should be able to verify how the resulting compose changes. For example, when adding new packages to a comps file, we should be able to see all the packages pulled-in as dependencies and we should also ensure this compose passes basic sanity tests.

C4 tool

The C4 tool takes following inputs:

  • git repository/commit with default Pungi configuration (For example pointing to some commit/branch in https://pagure.io/pungi-fedora/).
  • default Pungi configuration file name (For example fedora.conf).
  • git repository with PR for Pungi configuration repository.
  • git repository with PR for Comps repository.
  • git repository with PR for module-defaults repository.

The C4 tool then uses this input to create two minimal composes using the ODCS (On Demand Compose Service):

  • The default compose using the unchanged configuration from git repository with default Pungi configuration.
  • The PR compose with the PRs applied.

The C4 tool compares these two composes and prints the difference to stdout.

C4 tool use-case

The plan is to have the Jenkins Job running the C4 tool on any PR against pungi-fedora, comps and module-defaults repositories. The summary of compose difference will be added as comment to the PR.

It should therefore be clear if the most important parts of the compose still works with the PR applied and how the PR changed the compose.