Carles Pina i Estany <cpina@debian.org
>,
Colin Watson <cjwatson@debian.org
>,
Enrico Zini <enrico@debian.org
>,
Stefano Rivera <stefanor@debian.org
>
A Freexian project, funded with the help of the Sovereign Tech Fund.
MiniDebConf Toulouse at Capitole du Libre, 16 November 2024
Welcome.
We'll be rotating presenters. Introduce them all.
Let's talk about how you can use debusine to automate your Debian QA.
[5 minutes to whip through these]
Quick introduction, then we'll get onto a demo and really talk through how things work.
Solving Freexian’s needs as a Debian derivative
Potential SAAS product for Freexian as a Debian Services Company
Public instance: debusine.debian.net
Rules-Requires-Root: no
as default.In production for Freexian
[2 minutes to run this]
See examples/README
Example of a source package upload and trigger the debian pipeline: Prepare a source package Maybe distro-info? It builds for multiple architectures and has autopkgtests. debusine.client import-debian-artifact distro_info.dsc debusine.client create-workflow workflow:debian-pipeline --data pipeline.yaml Show pipeline yaml
[10 minutes for the concepts]
While we're waiting for the Demo to complete, let's talk about what's happening in debusine.
distro_info.dsc
becomes a debian:source-package
Strongly typed objects with JSON metadata
debian:source-package
, debian:binary-package
, debian:upload
, debian:package-build-log
, etc.Contain files
Look at our uploaded source package artifact. Describe how artifacts work in general.
Blob store isn't implemented yet.
Build is sandboxed in an environment:
The environment also comes from an artifact
Describe work requests, then look at the example work request that we're running.
debian:archive
, debian:suite
, debian:environments
.Can also hold bare-data JSON objects:
We skimmed over environments when we looked at the artifact. Debusine has a collection of build environments, updated daily, that we can use.
Describe collections.
Can be specified as a string:
bookworm@debian:suite/src2_2.0
Or dictionary:
collection: debian/trixie
child_type: artifact
category: debian:binary-package
data__package: libc6
data__version: "2.37-15"
Or even just bare artifact IDs.
The environment was found using a lookup into the debian
environments
collection for an unstable
tarball. Under the hood, restrictions for a
tarball suitable for unshare
would have been added.
Describe collections.
Use one of our workflows
sbuild
, autopkgtest
, lintian
, piuparts
qa
, debian_pipeline
For the brave: debusine-rebuilds can orchestrate large-scale rebuilds using debusine work requests.
You've seen a demo. If you want to go home and do any of this, start with our docs.
Here are some of the tools debusine provides that you can use to automate Debian QA.
We have lower level building blocks that can run individual QA tasks,
but you probably want to use a higher level workflow like qa
, or
debian_pipeline
. debian_pipeline
builds your package, runs all the
QA tests on it, and if they pass it can upload the result to Debian.
[5 minutes to whip through these]
Before STF M1 we had artifacts and the basic sbuild task (using schroot).
These were both big complex tasks with
[3 minutes]
Advanced features for Package Repositories
[2 minutes]
No maintenance budget in 2024, STF features drove the schedule for the year. We need to have some space for refactoring and misc work.
[2 minutes]
STF is the Sovereign Tech Fund, funded by German Federal Ministry for Economic Affairs and Climate Action.
STF Funding made a big boost to development in 2024.
We expect less funding from STF in 2025, so we'll look at some other sources too.
Open development on salsa
Bitesize tasks
[5 minutes]
[5 minutes]
Table of Contents | t |
---|---|
Exposé | ESC |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide next slide | c |
Notes | 2 |
Help | h |