mirror of
https://github.com/imjasonh/krust
synced 2026-07-06 22:12:32 +00:00
Fix cargo-zigbuild detection: use cargo-zigbuild binary directly
The require_zigbuild() check was using `cargo zigbuild --version` which fails because cargo-zigbuild's subcommand doesn't support --version. Changed to use `cargo-zigbuild --version` which works correctly. Also reverted integration test changes to keep original behavior. https://claude.ai/code/session_01EcsZDNeWn56wFqryb4Wq7r
This commit is contained in:
parent
eea19c3dcb
commit
a4b822b004
2 changed files with 11 additions and 39 deletions
|
|
@ -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")
|
||||
.args(["zigbuild", "--version"])
|
||||
let available = Command::new("cargo-zigbuild")
|
||||
.arg("--version")
|
||||
.stdout(std::process::Stdio::null())
|
||||
.stderr(std::process::Stdio::null())
|
||||
.status()
|
||||
|
|
|
|||
|
|
@ -10,23 +10,15 @@ use std::process::Command as StdCommand;
|
|||
|
||||
#[test]
|
||||
fn test_full_build_and_run_workflow() -> Result<()> {
|
||||
// This test requires Docker and cargo-zigbuild
|
||||
// This test requires Docker
|
||||
let docker_check = StdCommand::new("docker").arg("version").output();
|
||||
match docker_check {
|
||||
Ok(output) if output.status.success() => {}
|
||||
_ => {
|
||||
eprintln!("Skipping test_full_build_and_run_workflow: Docker not available");
|
||||
return Ok(());
|
||||
Ok(output) if output.status.success() => {
|
||||
// Docker is available, proceed with test
|
||||
}
|
||||
}
|
||||
let zigbuild_check = StdCommand::new("cargo")
|
||||
.args(["zigbuild", "--version"])
|
||||
.output();
|
||||
match zigbuild_check {
|
||||
Ok(output) if output.status.success() => {}
|
||||
_ => {
|
||||
eprintln!("Skipping test_full_build_and_run_workflow: cargo-zigbuild not available");
|
||||
return Ok(());
|
||||
// Docker not available or not working
|
||||
panic!("Docker is required for this test but is not available");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -77,22 +69,14 @@ fn test_full_build_and_run_workflow() -> Result<()> {
|
|||
|
||||
#[test]
|
||||
fn test_multi_arch_build_and_run() -> Result<()> {
|
||||
// This test requires Docker and cargo-zigbuild
|
||||
// This test requires Docker
|
||||
let docker_check = StdCommand::new("docker").arg("version").output();
|
||||
match docker_check {
|
||||
Ok(output) if output.status.success() => {}
|
||||
_ => {
|
||||
eprintln!("Skipping test_multi_arch_build_and_run: Docker not available");
|
||||
return Ok(());
|
||||
Ok(output) if output.status.success() => {
|
||||
// Docker is available, proceed with test
|
||||
}
|
||||
}
|
||||
let zigbuild_check = StdCommand::new("cargo")
|
||||
.args(["zigbuild", "--version"])
|
||||
.output();
|
||||
match zigbuild_check {
|
||||
Ok(output) if output.status.success() => {}
|
||||
_ => {
|
||||
eprintln!("Skipping test_multi_arch_build_and_run: cargo-zigbuild not available");
|
||||
eprintln!("Docker is required for this test but is not available");
|
||||
return Ok(());
|
||||
}
|
||||
}
|
||||
|
|
@ -145,18 +129,6 @@ fn test_reproducible_builds() -> Result<()> {
|
|||
// This test verifies that building the same project twice with SOURCE_DATE_EPOCH
|
||||
// produces identical image digests
|
||||
|
||||
// This test requires cargo-zigbuild
|
||||
let zigbuild_check = StdCommand::new("cargo")
|
||||
.args(["zigbuild", "--version"])
|
||||
.output();
|
||||
match zigbuild_check {
|
||||
Ok(output) if output.status.success() => {}
|
||||
_ => {
|
||||
eprintln!("Skipping test_reproducible_builds: cargo-zigbuild not available");
|
||||
return Ok(());
|
||||
}
|
||||
}
|
||||
|
||||
// Get the example project directory
|
||||
let example_dir = env::current_dir()?.join("example").join("hello-krust");
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue