revert(install): drop Playwright host-platform override — it hangs on 26.04
The PLAYWRIGHT_HOST_PLATFORM_OVERRIDE=ubuntu24.04-x64 pin (211c7d4) made
Playwright 1.58.2 stop erroring and instead download a Chrome-for-Testing
fallback build — but that download reaches 100% and then HANGS at extraction
on Ubuntu 26.04 (reproduced on a real machine + here: chrome binary never
materializes, no headless-shell download starts). Net effect: the override
turned a 0.5s fast-fail into an indefinite hang that blocks `make install` /
`make plugin` (user had to Ctrl+C).
Reverting restores the original behavior: gstack's ./setup fast-fails the
browser install (non-fatal — gstack is OFF by default, browser only needed
for /browse, /qa, screenshots) and the install completes. Replaced the code
with a NOTE explaining the dead end. Real fix is upstream: gstack bumping
Playwright to a version that supports the OS. See BLK-008.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UyNYwD4UccVw9ZCFZyJX55
This commit is contained in:
parent
cba0672749
commit
b9c3937cd0
@ -258,27 +258,6 @@ fi
|
||||
|
||||
echo ""
|
||||
|
||||
# Playwright (used by gstack's browser) hardcodes a list of supported Linux
|
||||
# builds (ubuntu20.04/22.04/24.04). On a newer Ubuntu it aborts with
|
||||
# "Playwright does not support chromium on ubuntuXX.04-x64". Pinning the host
|
||||
# platform to the latest supported build makes it download a compatible
|
||||
# Chrome-for-Testing binary instead. Echoes the override value, or nothing
|
||||
# when the running distro is natively supported.
|
||||
playwright_platform_override() {
|
||||
[ -r /etc/os-release ] || return 0
|
||||
local ID="" VERSION_ID="" arch # shadow globals so sourcing can't leak
|
||||
# shellcheck disable=SC1091
|
||||
. /etc/os-release 2>/dev/null
|
||||
[ "${ID:-}" = "ubuntu" ] && [ -n "${VERSION_ID:-}" ] || return 0
|
||||
# Only when newer than 24.04 (the latest build Playwright 1.58 ships).
|
||||
[ "$(printf '%s\n24.04\n' "$VERSION_ID" | sort -V | tail -1)" != "24.04" ] || return 0
|
||||
case "$(uname -m)" in
|
||||
aarch64|arm64) arch="arm64" ;;
|
||||
*) arch="x64" ;;
|
||||
esac
|
||||
printf 'ubuntu24.04-%s' "$arch"
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# STEP 2 — GSTACK SUBMODULE
|
||||
# ============================================================
|
||||
@ -322,14 +301,14 @@ if [ -d "$GSTACK_DIR" ]; then
|
||||
ok "bun $(bun --version)"
|
||||
fi
|
||||
|
||||
# Pin Playwright's host platform on Ubuntu newer than 24.04 so gstack's
|
||||
# ./setup can download a working Chromium (exported into its subshell).
|
||||
PW_OVERRIDE="$(playwright_platform_override)"
|
||||
if [ -n "$PW_OVERRIDE" ]; then
|
||||
export PLAYWRIGHT_HOST_PLATFORM_OVERRIDE="$PW_OVERRIDE"
|
||||
info "Newer Ubuntu detected — pinning Playwright to $PW_OVERRIDE (browser fallback build)"
|
||||
fi
|
||||
|
||||
# NOTE: on Ubuntu newer than 24.04, gstack's ./setup can't install its
|
||||
# Playwright browser — Playwright 1.58 has no build for it and fails fast
|
||||
# ("does not support chromium on ubuntuXX.04"). That's non-fatal (gstack is
|
||||
# OFF by default; the browser is only needed for /browse, /qa, screenshots).
|
||||
# The PLAYWRIGHT_HOST_PLATFORM_OVERRIDE=ubuntu24.04 workaround was tried and
|
||||
# reverted: it makes Playwright download a fallback build that then HANGS at
|
||||
# extraction on 26.04, blocking the whole install. Real fix is upstream —
|
||||
# gstack bumping Playwright to a version that supports the OS. See BLK-008.
|
||||
info "Running GStack setup..."
|
||||
if [ -x "$GSTACK_DIR/setup" ]; then
|
||||
if (cd "$GSTACK_DIR" && ./setup); then
|
||||
@ -730,13 +709,6 @@ CLAUDE_LINES=(
|
||||
'export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1'
|
||||
)
|
||||
|
||||
# On Ubuntu newer than what Playwright supports, persist the host-platform
|
||||
# override so gstack's browser launches at runtime (not just at install).
|
||||
PW_OVERRIDE="$(playwright_platform_override)"
|
||||
if [ -n "$PW_OVERRIDE" ]; then
|
||||
CLAUDE_LINES+=("export PLAYWRIGHT_HOST_PLATFORM_OVERRIDE=$PW_OVERRIDE")
|
||||
fi
|
||||
|
||||
# Clean up old CLAUDE_EFFORT env var if present (replaced by alias)
|
||||
if grep -qF 'export CLAUDE_EFFORT=max' "$SHELL_PROFILE" 2>/dev/null; then
|
||||
sed -i '/export CLAUDE_EFFORT=max/d' "$SHELL_PROFILE"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user