Skip to content

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')
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information