fix(setup): auto-detect Ubuntu 26.04 and set PLAYWRIGHT_HOST_PLATFORM_OVERRIDE

Playwright does not yet ship a native chromium build for ubuntu26.04-x64.
When setup detects Ubuntu 26.04, it now automatically sets
PLAYWRIGHT_HOST_PLATFORM_OVERRIDE=ubuntu24.04-x64 before calling
bunx playwright install chromium. The ubuntu24.04 binary runs fine on
ubuntu26.04 (same glibc lineage).

Without this fix users see:
  Failed to install browsers
  Error: ERROR: Playwright does not support chromium on ubuntu26.04-x64

The override is scoped to the install subshell; it does not persist to the
environment or affect subsequent setup steps.

Fixes #2101
This commit is contained in:
Padmaraj Nidagundi 2026-06-25 21:49:00 +03:00
parent 11de390be1
commit 78f047d13a
1 changed files with 19 additions and 1 deletions

20
setup
View File

@ -476,11 +476,29 @@ if [ "$INSTALL_OPENCODE" -eq 1 ] && [ "$NEEDS_BUILD" -eq 0 ]; then
fi
# 2. Ensure Playwright's Chromium is available
# Detect Ubuntu 26.04: Playwright does not yet ship a native chromium build for
# ubuntu26.04-x64. Override the platform to ubuntu24.04-x64 so the installer
# picks the correct binary. This is safe because the ubuntu24.04 build runs
# fine on ubuntu26.04 (same glibc lineage). See #2101.
_PLAYWRIGHT_PLATFORM_OVERRIDE=""
if [ -f /etc/os-release ]; then
_os_id=$(grep '^ID=' /etc/os-release | cut -d= -f2 | tr -d '"')
_os_ver=$(grep '^VERSION_ID=' /etc/os-release | cut -d= -f2 | tr -d '"')
if [ "$_os_id" = "ubuntu" ] && [ "$_os_ver" = "26.04" ]; then
_PLAYWRIGHT_PLATFORM_OVERRIDE="ubuntu24.04-x64"
echo "Ubuntu 26.04 detected — using PLAYWRIGHT_HOST_PLATFORM_OVERRIDE=$_PLAYWRIGHT_PLATFORM_OVERRIDE"
fi
fi
if ! ensure_playwright_browser; then
echo "Installing Playwright Chromium..."
(
cd "$SOURCE_GSTACK_DIR"
bunx playwright install chromium
if [ -n "$_PLAYWRIGHT_PLATFORM_OVERRIDE" ]; then
PLAYWRIGHT_HOST_PLATFORM_OVERRIDE="$_PLAYWRIGHT_PLATFORM_OVERRIDE" bunx playwright install chromium
else
bunx playwright install chromium
fi
)
if [ "$IS_WINDOWS" -eq 1 ]; then