Skip to content

blhc workflow requires an environment, but qa workflow doesn't give it one

I started trying to put together an integration test for the debian_pipeline workflow. Most of this worked without much trouble, but the blhc task fails:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/debusine/tasks/_task.py", line 869, in _execute
    if not self.configure_for_execution(download_directory):
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/debusine/tasks/blhc.py", line 130, in configure_for_execution
    self._prepare_executor_instance()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/debusine/tasks/_task.py", line 1139, in _prepare_executor_instance
    self._prepare_executor()
    ~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/debusine/tasks/_task.py", line 1123, in _prepare_executor
    assert self.dynamic_data.environment_id
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

Any task that requires an executor instance also requires an environment, and usually also needs to pin the host architecture to one where we expect an environment to exist. In the blhc case, these are currently optional, which isn't right.

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