You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix Windows and Linux install paths found by static review
Windows x64 had no working install path at all. Four separate defects, each
sufficient on its own:
- The Package step wrote zips to <repo>/packages/out. `cd dist/<name>/bin` is
five levels below the repo root, not four, so upload-artifact found nothing
and every zip target (both Windows, both macOS) published no asset. Now
uses an absolute $GITHUB_WORKSPACE/out.
- build.ts smoke-tested `bin/utmstack`, but Bun appends .exe for
bun-windows-* targets. Upstream cross-builds from Linux so this branch
never ran; building Windows natively activates it, and it called
process.exit(1) and failed the build.
- The bash installer moved `$tmp/utmstack` — the Windows archive contains
utmstack.exe, so the mv aborted under set -e, and an installed binary
without .exe would not execute anyway.
- It also hard-required unzip, which Git for Windows does not ship. Now
accepts bsdtar, which reads zip.
Linux fixes:
- A failed release lookup aborted the installer silently: under
`set -euo pipefail` the command substitution kills the script, and the
`$? -ne 0` branch below it was unreachable.
- Two download calls lacked curl -f, so a 404 wrote GitHub's HTML error page
to disk, curl exited 0, and tar failed with "not in gzip format" — the
exact failure an arm64 user hits when an asset is missing.
- An unset $SHELL aborted under `set -u` after installing the binary but
before PATH setup and the MCP install.
PowerShell:
- Fail used `exit`, which closes the user's console under `irm | iex` and
escapes the caller's try/catch inside a &-invoked scriptblock — so an MCP
install failure killed the CLI installer despite the surrounding catch.
Now throws.
- The CLI installer expanded into the same temp dir holding the archive and
checksums.txt, then copied both into the install directory.
- Replacing a running executable throws on Windows; both installers now say
so instead of dying half-done.
- PROCESSOR_ARCHITEW6432 fallback, so a 32-bit PowerShell host on x64 is not
misreported as unsupported. $ProgressPreference silenced: on PS 5.1 the
progress bar makes large downloads about ten times slower.
The MCP installer now redirects Git Bash users to install.ps1 rather than
refusing outright — that path is how the CLI installer tries to add SIEM tools
on Windows. Dropped a dead x86_64-only libc guard that made the musl check look
conditional on ARM64.
Both PowerShell scripts re-validated on a real Windows ARM64 machine.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments