From 6080c9dc4289b4d37ff6a1f20552e6832f42d729 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 17 Sep 2026 16:28:07 +0200 Subject: [PATCH 1/2] CI: Update cargo-fuzz to 0.13.2 to fix build errors We were getting: ``` error: attributes starting with `rustc` are reserved for use by the `rustc` compiler --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustix-0.36.5/src/backend/linux_raw/io/errno.rs:28:25 | 28 | #[cfg_attr(rustc_attrs, rustc_layout_scalar_valid_range_start(0xf001))] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ``` etc, with 0.13.1 Signed-off-by: Alexander Larsson --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a1469543..88a32023 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -72,11 +72,11 @@ jobs: with: workspaces: crates/composefs/fuzz - name: Install cargo-fuzz - # Use cargo-fuzz 0.13.1 without --locked so cargo resolves fresh deps; + # Use cargo-fuzz 0.13.2 without --locked so cargo resolves fresh deps; # the published lockfile pins rustix 0.36 which fails to compile with # nightly ≥ 1.97 (rustc_layout_scalar_valid_range_* now reserved for # the compiler). - run: cargo install cargo-fuzz@0.13.1 + run: cargo install cargo-fuzz@0.13.2 - name: Generate corpus run: just generate-corpus - name: Run fuzz targets From 5c6001815e247d313231909c07c1668bfa1eea34 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 17 Sep 2026 17:25:42 +0200 Subject: [PATCH 2/2] CI: Disable arch tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These are failing with some weird timeout: ``` ==================================== ERRORS ==================================== _________________________ ERROR at setup of test_basic _________________________ + Exception Group Traceback (most recent call last): | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call | result: Optional[TResult] = func() | ~~~~^^ | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 262, in | lambda: ihook(item=item, **kwds), when=when, reraise=reraise | ~~~~~^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 501, in __call__ | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 119, in _hookexec | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 181, in _multicall | return outcome.get_result() | ~~~~~~~~~~~~~~~~~~^^ | File "/usr/lib/python3/dist-packages/pluggy/_result.py", line 99, in get_result | raise exc.with_traceback(exc.__traceback__) | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 102, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 157, in pytest_runtest_setup | item.session._setupstate.setup(item) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 497, in setup | raise exc | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 494, in setup | col.setup() | ~~~~~~~~~^^ | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1795, in setup | self._request._fillfixtures() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ | File "/usr/lib/python3/dist-packages/_pytest/fixtures.py", line 566, in _fillfixtures | item.funcargs[argname] = self.getfixturevalue(argname) | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ | File "/usr/lib/python3/dist-packages/_pytest/fixtures.py", line 585, in getfixturevalue | fixturedef = self._get_active_fixturedef(argname) | File "/usr/lib/python3/dist-packages/_pytest/fixtures.py", line 607, in _get_active_fixturedef | self._compute_fixture_value(fixturedef) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ | File "/usr/lib/python3/dist-packages/_pytest/fixtures.py", line 693, in _compute_fixture_value | fixturedef.execute(request=subrequest) | ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3/dist-packages/_pytest/fixtures.py", line 1069, in execute | result = ihook.pytest_fixture_setup(fixturedef=self, request=request) | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 501, in __call__ | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 119, in _hookexec | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 181, in _multicall | return outcome.get_result() | ~~~~~~~~~~~~~~~~~~^^ | File "/usr/lib/python3/dist-packages/pluggy/_result.py", line 99, in get_result | raise exc.with_traceback(exc.__traceback__) | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 102, in _multicall | res = hook_impl.function(*args) | File "/usr/lib/python3/dist-packages/_pytest/fixtures.py", line 1123, in pytest_fixture_setup | result = call_fixture_func(fixturefunc, request, kwargs) | File "/usr/lib/python3/dist-packages/_pytest/fixtures.py", line 902, in call_fixture_func | fixture_result = fixturefunc(**kwargs) | File "/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py", line 299, in _asyncgen_fixture_wrapper | result = event_loop.run_until_complete(setup()) | File "/usr/lib/python3.13/asyncio/base_events.py", line 719, in run_until_complete | return future.result() | ~~~~~~~~~~~~~^^ | File "/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py", line 281, in setup | res = await gen_obj.__anext__() | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/home/runner/work/composefs-rs/composefs-rs/examples/test/test_basic.py", line 17, in machine | async with testthing.VirtualMachine(image=image, ipc=ipc, verbose=True) as vm: | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/home/runner/work/composefs-rs/composefs-rs/examples/testthing.py", line 808, in __aenter__ | await self._tasks.__aexit__(*exc_info) | File "/usr/lib/python3.13/asyncio/taskgroups.py", line 71, in __aexit__ | return await self._aexit(et, exc) | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.13/asyncio/taskgroups.py", line 173, in _aexit | raise BaseExceptionGroup( | ...<2 lines>... | ) from None | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/usr/lib/python3.13/asyncio/tasks.py", line 507, in wait_for | return await fut | ^^^^^^^^^ | File "/usr/lib/python3.13/asyncio/locks.py", line 213, in wait | await fut | asyncio.exceptions.CancelledError | | The above exception was the direct cause of the following exception: | | Traceback (most recent call last): | File "/home/runner/work/composefs-rs/composefs-rs/examples/testthing.py", line 784, in __aenter__ | await asyncio.wait_for(self._ssh_control_ready.wait(), self._timeout) | File "/usr/lib/python3.13/asyncio/tasks.py", line 506, in wait_for | async with timeouts.timeout(timeout): | ~~~~~~~~~~~~~~~~^^^^^^^^^ | File "/usr/lib/python3.13/asyncio/timeouts.py", line 116, in __aexit__ | raise TimeoutError from exc_val | TimeoutError | | The above exception was the direct cause of the following exception: | | Traceback (most recent call last): | File "/home/runner/work/composefs-rs/composefs-rs/examples/testthing.py", line 803, in __aenter__ | raise TimeoutError("\n".join(lines) + "\n") from exc | TimeoutError: Timed out waiting for the VM to start (after {self._timeout}s). | Console log: | [=3h[=3hBdsDxe: loading Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x4,0x0) | BdsDxe: starting Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x4,0x0) | Arch Linux Reboot Into Firmware Interface Boot in 1 s. ────────────────────────────────────────── | +------------------------------------ ---------------------------- Captured stderr setup ----------------------------- ``` Signed-off-by: Alexander Larsson --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 88a32023..9e3a9b8a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -172,8 +172,9 @@ jobs: - { dir: 'uki', os: 'fedora' } - { dir: 'unified', os: 'fedora' } - { dir: 'unified-secureboot', os: 'fedora' } - - { dir: 'bls', os: 'arch', fsfmt: 'ext4', verity: 'none' } - - { dir: 'bls', os: 'arch', fsfmt: 'xfs', verity: 'none' } + # Arch is currently failing to start the vm, needs debugging: + #- { dir: 'bls', os: 'arch', fsfmt: 'ext4', verity: 'none' } + #- { dir: 'bls', os: 'arch', fsfmt: 'xfs', verity: 'none' } fail-fast: false steps: