From 6d1bedee3ee164ed0151f8adab1313be5915d652 Mon Sep 17 00:00:00 2001 From: JJ Liebig Date: Mon, 27 Jul 2026 13:15:23 +0200 Subject: fix: make native windows checks reliable (#1925) --- scripts/windows_check.ps1 | 68 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 scripts/windows_check.ps1 (limited to 'scripts') diff --git a/scripts/windows_check.ps1 b/scripts/windows_check.ps1 new file mode 100644 index 00000000..7c225301 --- /dev/null +++ b/scripts/windows_check.ps1 @@ -0,0 +1,68 @@ +param( + [ValidateSet("lint", "check")] + [string]$Mode = "check" +) + +$ErrorActionPreference = "Stop" + +function Invoke-Checked { + param([string]$Command, [string[]]$Arguments) + + & $Command @Arguments + if ($LASTEXITCODE -ne 0) { + throw "command failed with exit code $LASTEXITCODE`: $Command $($Arguments -join ' ')" + } +} + +function Invoke-CargoWithZigCacheRecovery { + param([string[]]$Arguments) + + & cargo @Arguments + if ($LASTEXITCODE -eq 0) { + return + } + + Write-Warning "cargo compile failed; clearing Zig build caches and retrying once" + Remove-Item -Recurse -Force .zig-cache -ErrorAction SilentlyContinue + Remove-Item -Recurse -Force vendor/libghostty-vt/.zig-cache -ErrorAction SilentlyContinue + Remove-Item -Recurse -Force vendor/libghostty-vt/zig-out -ErrorAction SilentlyContinue + Invoke-Checked cargo $Arguments +} + +Invoke-Checked rustup @("target", "add", "x86_64-pc-windows-msvc") +Invoke-Checked cargo @("fmt", "--check") +Invoke-CargoWithZigCacheRecovery @( + "clippy", + "--bin", + "herdr", + "--locked", + "--target", + "x86_64-pc-windows-msvc", + "--", + "-D", + "warnings" +) + +if ($Mode -eq "lint") { + return +} + +Invoke-Checked cargo @( + "test", + "--locked", + "--target", + "x86_64-pc-windows-msvc", + "--bin", + "herdr", + "windows_" +) +Invoke-Checked cargo @( + "test", + "--locked", + "--target", + "x86_64-pc-windows-msvc", + "--bin", + "herdr", + "server::client_transport::tests" +) +Invoke-Checked cargo @("build", "--locked", "--target", "x86_64-pc-windows-msvc") -- cgit v1.2.3