Skip to content

autopkgtests run from reverse_dependencies_autopkgtest should have a negative priority

Request

In order to not block all workflows when a single workflow has a very large reverse_dependencies_autopkgtest sub-workflow, we should ensure that the work requests created by this sub-workflow have a negative priority.

Ideally this would be easy to control with some debusine:task-configuration entries.

Implementation plan

While this could be implemented only for the reverse_dependencies_autopkgtest workflow, it would seem wise to make it possible to override the default priority of any workflow and maybe even compose them so that if you tweak the priority of two workflows that are in the same hierarchy, the priority change of the parent and of the sub-workflow get combined in some way.

We could modify BaseTaskData to add an extra field children_priority_adjustment and then ensure that WorkRequest.create_child applies that adjustment to the priority field of the child work requests that gets created. For all workflows, the value would default to 0 but for reverse_dependencies_autopkgtest we would override that value to -5.

Open questions

  • WorkRequest.create_child currently doesn't set the priority. That seems to contradict the documentation that says "Failing that, it defaults to the effective priority of the parent work request (computed at creation time)".
  • The suggested children_priority_adjustment can be confused with the priority_adjustment database field on the WorkRequest object, maybe we should find a better name?

Notes

This issue description can be modified to integrate feedback from comments and from associated merge requests.

This is included in %2025-Q3 Freexian because we expect this to be important when many developers start to use Debusine to upload to unstable. We don't want to give a bad first experience with builds being blocked for days. We will also setup worker pools but this is a simple short term solution with priority management that generally makes sense.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information