Debian pipeline
See the currently-implemented parts of debian-pipeline.
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.
The task_data
for this task may contain the following keys:
suite
(Single lookup, required): thedebian:suite
collection to check installability againstbinary_artifacts
(Multiple lookup, required): a list ofdebian:binary-package
,debian:binary-packages
, ordebian: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.
Confirm task
This wait task blocks until the user who created it says that it may proceed. It is equivalent to a confirmation prompt in a traditional user interface. It has no task data.
API changes
A new /api/1.0/work-request/<int:work_request_id>/confirm/
view allows
handling the new Confirm
wait task. The view works as follows:
check that the work request is
WAIT/Confirm
and is running, and otherwise return HTTP 400check that the request user is the same as the user who created the work request, and otherwise return HTTP 403
mark the work request completed
return HTTP 200
UI changes
When showing a blocked Confirm
work request, the web UI shows a “Confirm”
button which does the equivalent of the confirm
API view above.