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 thepriority_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.