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
unbreak macOS Apple Silicon install, atomic Linux install, real version smoke test
Three independently-motivated bug fixes in scripts/install.sh:
1. macOS Apple Silicon: nightly Mach-O is SIGKILLed at exec
The lightpanda-aarch64-macos asset is killed by the kernel even
with an ad-hoc / linker signature; ad-hoc re-signing locally does
not help. Route ONLY Apple Silicon through the upstream Homebrew
tap (lightpanda-io/browser/lightpanda), which builds from source.
Intel macOS keeps the GitHub Release Mach-O path — there's no
evidence the SIGKILL applies to x86_64 and switching working users
to a brew dependency unprompted would be over-aggressive.
2. Failed reruns destroy existing working binary
SKILL.md documents reruns as the update path, but
curl -L -o "$INSTALL_DIR/$BINARY_NAME" overwrites the install
target during download. Atomic install via mktemp + verify +
smoke-test + mv preserves the existing binary on any failure.
3. --version smoke test silently accepts broken binaries
Lightpanda's CLI has no --version flag; running it logs
'$msg=exit err=UnknownCommand' and exits 1. The current
2>/dev/null + --help fallback masks this, and the head -1 pipe at
the end of the test means it succeeds on broken binaries that
produce no output. Use the 'version' subcommand and capture stderr
to surface real diagnostics like 'GLIBC_2.32 not found' on failure.
Other adjacent changes — happy to split into follow-up PRs if you
prefer narrower scope:
- set -euo pipefail (was set -e); pipefail catches a failing curl in
curl | jq that would otherwise be hidden by jq exiting 0 on empty
input.
- chmod 0755 instead of chmod a+x — mktemp creates 0600 so a+x yields
0711 (owner-only readable). Only relevant because of the atomic
install change.
- Optional $GITHUB_TOKEN raises the API quota from 60->5000/hr.
- PATH-shadow check warns when an older lightpanda is earlier in PATH
than the freshly installed one.
- SKILL.md Install section gains a per-OS callout describing the
Apple-Silicon-via-brew vs Intel-+-Linux-via-release split.
Copy file name to clipboardExpand all lines: SKILL.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,9 @@ Prefer the built-in Web Search tool when it is available and sufficient for your
25
25
bash scripts/install.sh
26
26
```
27
27
28
-
Lightpanda is available on Linux and macOS only. Windows is supported via WSL2.
28
+
Lightpanda is available on Linux and macOS only. Windows is supported via WSL2. The script picks the right method per OS:
29
+
-**macOS, Apple Silicon** — installs via the upstream Homebrew tap (`brew install lightpanda-io/browser/lightpanda`). Requires Homebrew. The nightly Mach-O binaries from GitHub Releases get SIGKILLed by the kernel at exec on Apple Silicon despite shipping with an ad-hoc / linker signature, so the script delegates to the tap, which builds from source.
30
+
-**macOS Intel + Linux** — downloads the nightly binary from GitHub Releases, verifies its SHA-256, smoke-tests it, and atomically installs to `$HOME/.local/bin/lightpanda` (override with `LIGHTPANDA_DIR=...`). On rerun, the existing binary is left in place if any step fails.
29
31
30
32
The binary is a nightly build that evolves quickly. If you encounter crashes or issues, run `scripts/install.sh` again to update to the latest version (max once per day).
0 commit comments