===============
Debian pipeline
===============

See the currently-implemented parts of :workflow:`debian_pipeline`.

.. task:: CheckInstallability

CheckInstallability task
========================

This is a server-side task that checks whether the uninstallability count in
a suite increases as a result of adding packages to it, along the lines of
the installability regression tests performed by `britney
<https://release.debian.org/doc/britney/>`_.

The ``task_data`` for this task may contain the following keys:

* ``suite`` (:ref:`lookup-single`, required): the :collection:`debian:suite`
  collection to check installability against
* ``binary_artifacts`` (:ref:`lookup-multiple`, required): a list of
  :artifact:`debian:binary-package`, :artifact:`debian:binary-packages`, or
  :artifact:`debian:upload` artifacts to check

.. todo::

    Check whether it's feasible to implement this in Debusine itself as a
    server-side task.  If not, we'll need to make it a worker task and
    consider what environment it should run in.

.. todo::

    Define the output.  It should probably be a new artifact category,
    produced only if the task fails, containing the list of
    newly-uninstallable packages.
