debian-pipeline fails to schedule tasks with debian:uploads
All debian-pipeline workflows are currently failing to schedule, for an unspecified reason.
Retrying by hand in a console gave me the cause: The input is not a DebianSourcePackage
In [34]: wr._retry_workflow(WorkRequestRetryReason.MANUAL)
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
File /usr/lib/python3/dist-packages/debusine/server/workflows/base.py:656, in orchestrate_workflow(work_request)
655 try:
--> 656 orchestrator.populate()
657 except Exception as exc:
File /usr/lib/python3/dist-packages/debusine/server/workflows/debian_pipeline.py:122, in DebianPipelineWorkflow.populate(self)
119 source_data = Artifact.objects.get(
120 id=self.dynamic_data.input_source_artifact_id
121 ).create_data()
--> 122 assert isinstance(source_data, DebianSourcePackage)
124 if (data_archs := self.data.architectures) is not None:
AssertionError:
The above exception was the direct cause of the following exception:
WorkflowRunError Traceback (most recent call last)
Cell In[34], line 1
----> 1 wr._retry_workflow(WorkRequestRetryReason.MANUAL)
File /usr/lib/python3/dist-packages/debusine/db/models/work_requests.py:1886, in WorkRequest._retry_workflow(self, reason)
1880 self.save()
1882 try:
1883 # TODO: workflow orchestrators may be slow; this should move to
1884 # a Celery task
1885 # Give the workflow a chance to update its graph
-> 1886 orchestrate_workflow(self)
1888 # Retry failed child work requests
1889 for child in (
1890 WorkRequest.objects.aborted_or_failed()
1891 .filter(parent=self)
1892 .order_by("id")
1893 ):
File /usr/lib/python3/dist-packages/asgiref/sync.py:327, in AsyncToSync.main_wrap(self, call_result, exc_info, task_context, context, *args, **kwargs)
325 if exc_info[1]:
326 try:
--> 327 raise exc_info[1]
328 except BaseException:
329 result = await self.awaitable(*args, **kwargs)
File /usr/lib/python3/dist-packages/debusine/server/workflows/base.py:658, in orchestrate_workflow(work_request)
656 orchestrator.populate()
657 except Exception as exc:
--> 658 raise WorkflowRunError(
659 work_request,
660 f"Orchestrator failed: {exc}",
661 "orchestrator-failed",
662 ) from exc
664 if work_request.children.exists():
665 orchestrator.work_request.unblock_workflow_children()
WorkflowRunError: (<WorkRequest: 212107>, 'Orchestrator failed: ', 'orchestrator-failed')