From 78f047d13a963045e807468db36dd1311750d278 Mon Sep 17 00:00:00 2001 From: Padmaraj Nidagundi Date: Thu, 25 Jun 2026 21:49:00 +0300 Subject: [PATCH] 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 --- setup | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/setup b/setup index 275236cd36..be83a4015f 100755 --- a/setup +++ b/setup @@ -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