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 <ruv@ruv.net>
This commit is contained in:
ruv 2026-03-15 11:09:49 -04:00
parent e94e2c1902
commit b21104b02c
1 changed files with 4 additions and 0 deletions

View File

@ -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",