From 508913e07e39214ccc959592cd80bddfbc97c323 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 18 Mar 2026 20:46:09 +0000 Subject: [PATCH] Fix zigbuild detection: use cargo zigbuild --help cargo-zigbuild --version doesn't work reliably in all PATH configs. Use cargo zigbuild --help instead, which uses cargo's subcommand discovery to find the cargo-zigbuild binary. Also verify zigbuild actually works in CI after installation. https://claude.ai/code/session_01EcsZDNeWn56wFqryb4Wq7r --- .github/workflows/ci.yml | 3 ++- src/builder/mod.rs | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ad227d..f5d92c0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,7 +51,8 @@ jobs: # ziglang pip package installs as python-zig, symlink to zig for cargo-zigbuild sudo ln -sf "$(which python-zig)" /usr/local/bin/zig zig version - command -v cargo-zigbuild || cargo install cargo-zigbuild + cargo-zigbuild --version 2>/dev/null || cargo install cargo-zigbuild + cargo-zigbuild --version - run: make check-fmt - run: make lint diff --git a/src/builder/mod.rs b/src/builder/mod.rs index 0b81299..de4b5c8 100644 --- a/src/builder/mod.rs +++ b/src/builder/mod.rs @@ -32,8 +32,8 @@ impl RustBuilder { /// Check that cargo-zigbuild is available, or bail with install instructions. fn require_zigbuild() -> Result<()> { - let available = Command::new("cargo-zigbuild") - .arg("--version") + let available = Command::new("cargo") + .args(["zigbuild", "--help"]) .stdout(std::process::Stdio::null()) .stderr(std::process::Stdio::null()) .status()