Skip to main content

From Code to Distribution: Building a Complete Testing Pipeline

UB2.147 | Day 2 | 11:00 - 11:25 | Speakers: František Lachman, Cristian Le

From Code to Distribution: Building a Complete Testing Pipeline
A picture of a devroom at FOSDEM 2024
Open in browser

Notes

Abstract

How do you ensure code works across distributions before it reaches users? The Packaging and Testing Experience (PTE) project is an open-source approach to solving the upstream-to-downstream testing challenge.

The traditional model fragments testing: upstream tests their code, distribution maintainers test packages, and users discover the gaps. PTE bridges this by creating a continuous testing pipeline where upstream changes are automatically built, tested in realistic distribution environments, and validated before integration.

Our approach consists of three open-source components working together:

  1. tmt - A CI-agnostic test management framework that defines tests once, runs anywhere
  2. Testing Farm - On-demand test infrastructure providing clean VMs, containers, bare metal, and multi-host environments
  3. Packit - Integration glue connecting upstream repositories to distribution workflows

But this isn't just about specific tools - it's about the philosophy: making tests portable, infrastructure on-demand, and integration automated. tmt works with any distribution. Testing Farm's architecture could inform similar services. The integration patterns apply broadly.
In this talk, we'll share:

  • How all of these work together and what we’ve learned along the way.
  • How we integrate and share tests from upstream projects down through Fedora, CentOS and RHEL. Both for the packages and their integration with each other as well.
  • How other distributions can adopt these approaches.
  • Where collaboration could reduce duplication across the ecosystem.

Attachments


Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.