Speed up Windows source fallback installs
ci / test (push) Canceled after 0s
ci / fuzz-smoke (push) Canceled after 0s
ci / macos-client (macos-aarch64, macos-14) (push) Canceled after 0s
ci / macos-client (macos-x86_64, macos-13) (push) Canceled after 0s
ci / windows-client (push) Canceled after 0s
ci / package-release (linux-x86_64, ubuntu-latest, , , ) (push) Canceled after 0s
ci / package-release (macos-aarch64, macos-14, , , ) (push) Canceled after 0s
ci / package-release (macos-x86_64, macos-13, , , ) (push) Canceled after 0s
ci / package-release (windows-aarch64, windows-latest, aarch64, windows, aarch64-pc-windows-msvc) (push) Canceled after 0s
ci / package-release (windows-x86_64, windows-latest, , , ) (push) Canceled after 0s
ci / remote-bench (push) Canceled after 0s
ci / publish-gitea-release (push) Canceled after 0s
ci / test (push) Canceled after 0s
ci / fuzz-smoke (push) Canceled after 0s
ci / macos-client (macos-aarch64, macos-14) (push) Canceled after 0s
ci / macos-client (macos-x86_64, macos-13) (push) Canceled after 0s
ci / windows-client (push) Canceled after 0s
ci / package-release (linux-x86_64, ubuntu-latest, , , ) (push) Canceled after 0s
ci / package-release (macos-aarch64, macos-14, , , ) (push) Canceled after 0s
ci / package-release (macos-x86_64, macos-13, , , ) (push) Canceled after 0s
ci / package-release (windows-aarch64, windows-latest, aarch64, windows, aarch64-pc-windows-msvc) (push) Canceled after 0s
ci / package-release (windows-x86_64, windows-latest, , , ) (push) Canceled after 0s
ci / remote-bench (push) Canceled after 0s
ci / publish-gitea-release (push) Canceled after 0s
This commit is contained in:
+8
-2
@@ -427,10 +427,16 @@ function Install-FromSource {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
Push-Location $src
|
Push-Location $src
|
||||||
cargo build --release --bin dosh-client --bin dosh-bench
|
$buildArgs = @("build", "--release", "--bin", "dosh-client")
|
||||||
|
if ($Quiet) {
|
||||||
|
$buildArgs = @("build", "-q", "--release", "--bin", "dosh-client")
|
||||||
|
}
|
||||||
|
cargo @buildArgs
|
||||||
Install-Binary "target\release\dosh-client.exe" (Join-Path $bindir "dosh-client.exe")
|
Install-Binary "target\release\dosh-client.exe" (Join-Path $bindir "dosh-client.exe")
|
||||||
Install-Binary "target\release\dosh-client.exe" (Join-Path $bindir "dosh.exe")
|
Install-Binary "target\release\dosh-client.exe" (Join-Path $bindir "dosh.exe")
|
||||||
Install-Binary "target\release\dosh-bench.exe" (Join-Path $bindir "dosh-bench.exe")
|
if (Test-Path "target\release\dosh-bench.exe") {
|
||||||
|
Install-Binary "target\release\dosh-bench.exe" (Join-Path $bindir "dosh-bench.exe")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
Pop-Location
|
Pop-Location
|
||||||
|
|||||||
@@ -209,6 +209,27 @@ fn windows_installer_honors_quiet_update_mode() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn windows_source_fallback_builds_client_only_like_unix() {
|
||||||
|
let install = include_str!("../install.sh");
|
||||||
|
let ps1 = include_str!("../install.ps1");
|
||||||
|
assert!(install.contains("cargo build -q --release --bin dosh-client"));
|
||||||
|
assert!(install.contains("cargo build --release --bin dosh-client"));
|
||||||
|
assert!(ps1.contains("$buildArgs = @(\"build\", \"--release\", \"--bin\", \"dosh-client\")"));
|
||||||
|
assert!(
|
||||||
|
ps1.contains(
|
||||||
|
"$buildArgs = @(\"build\", \"-q\", \"--release\", \"--bin\", \"dosh-client\")"
|
||||||
|
),
|
||||||
|
"Windows quiet source fallback should use cargo -q like Unix"
|
||||||
|
);
|
||||||
|
assert!(ps1.contains("cargo @buildArgs"));
|
||||||
|
assert!(
|
||||||
|
!ps1.contains("cargo build --release --bin dosh-client --bin dosh-bench"),
|
||||||
|
"Windows client source fallback must not compile dosh-bench on every update"
|
||||||
|
);
|
||||||
|
assert!(ps1.contains("if (Test-Path \"target\\release\\dosh-bench.exe\")"));
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn windows_installer_adds_user_path_idempotently() {
|
fn windows_installer_adds_user_path_idempotently() {
|
||||||
let ps1 = include_str!("../install.ps1");
|
let ps1 = include_str!("../install.ps1");
|
||||||
|
|||||||
Reference in New Issue
Block a user