From b21104b02cd419a4c9e186ea905a7d69bda22ea8 Mon Sep 17 00:00:00 2001 From: ruv Date: Sun, 15 Mar 2026 11:09:49 -0400 Subject: [PATCH] fix(ci): skip Rust aggregator when cargo not available in swarm test The IDF container doesn't have Rust installed. Check for cargo with shutil.which() before attempting to spawn the aggregator, falling back to aggregator-less mode (QEMU nodes still boot and exercise the firmware pipeline). Co-Authored-By: claude-flow --- scripts/qemu_swarm.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/qemu_swarm.py b/scripts/qemu_swarm.py index 2747eac1..3b1b0f0a 100644 --- a/scripts/qemu_swarm.py +++ b/scripts/qemu_swarm.py @@ -502,10 +502,14 @@ def start_aggregator( port: int, n_nodes: int, output_file: Path, log_file: Path ) -> Optional[subprocess.Popen]: """Start the Rust aggregator binary. Returns Popen or None on failure.""" + import shutil cargo_toml = RUST_DIR / "Cargo.toml" if not cargo_toml.exists(): warn(f"Rust workspace not found at {RUST_DIR}; skipping aggregator.") return None + if shutil.which("cargo") is None: + warn("cargo not found; skipping aggregator (Rust not installed).") + return None args = [ "cargo", "run",