From ba8d141de8f5691ebeea162bdf1a9e5d5a7cc09d Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Wed, 24 Jan 2024 17:46:20 +0100 Subject: [PATCH] chore: drop Ubuntu 18.04 (#29145) This will now yield: ``` root@a85fb37f0c96:/work# npx playwright install Failed to install browsers Error: ERROR: Playwright does not support chromium on ubuntu18.04-x64 ``` On Ubuntu 18.04. --- packages/playwright-core/browsers.json | 3 +- .../src/server/registry/index.ts | 26 +-- .../src/server/registry/nativeDeps.ts | 162 ------------------ .../playwright-core/src/utils/hostPlatform.ts | 2 +- 4 files changed, 15 insertions(+), 178 deletions(-) diff --git a/packages/playwright-core/browsers.json b/packages/playwright-core/browsers.json index ae98765f8e..ada74923cb 100644 --- a/packages/playwright-core/browsers.json +++ b/packages/playwright-core/browsers.json @@ -45,8 +45,7 @@ "mac10.14": "1446", "mac10.15": "1616", "mac11": "1816", - "mac11-arm64": "1816", - "ubuntu18.04-x64": "1728" + "mac11-arm64": "1816" }, "browserVersion": "17.4" }, diff --git a/packages/playwright-core/src/server/registry/index.ts b/packages/playwright-core/src/server/registry/index.ts index 707507ac09..2b3663a47d 100644 --- a/packages/playwright-core/src/server/registry/index.ts +++ b/packages/playwright-core/src/server/registry/index.ts @@ -77,10 +77,10 @@ type DownloadPaths = Record; const DOWNLOAD_PATHS: Record = { 'chromium': { '': undefined, - 'ubuntu18.04-x64': 'builds/chromium/%s/chromium-linux.zip', + 'ubuntu18.04-x64': undefined, 'ubuntu20.04-x64': 'builds/chromium/%s/chromium-linux.zip', 'ubuntu22.04-x64': 'builds/chromium/%s/chromium-linux.zip', - 'ubuntu18.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', + 'ubuntu18.04-arm64': undefined, 'ubuntu20.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', 'ubuntu22.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', 'debian11-x64': 'builds/chromium/%s/chromium-linux.zip', @@ -100,10 +100,10 @@ const DOWNLOAD_PATHS: Record = { }, 'chromium-tip-of-tree': { '': undefined, - 'ubuntu18.04-x64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip', + 'ubuntu18.04-x64': undefined, 'ubuntu20.04-x64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip', 'ubuntu22.04-x64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip', - 'ubuntu18.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip', + 'ubuntu18.04-arm64': undefined, 'ubuntu20.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip', 'ubuntu22.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip', 'debian11-x64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip', @@ -123,10 +123,10 @@ const DOWNLOAD_PATHS: Record = { }, 'chromium-with-symbols': { '': undefined, - 'ubuntu18.04-x64': 'builds/chromium/%s/chromium-with-symbols-linux.zip', + 'ubuntu18.04-x64': undefined, 'ubuntu20.04-x64': 'builds/chromium/%s/chromium-with-symbols-linux.zip', 'ubuntu22.04-x64': 'builds/chromium/%s/chromium-with-symbols-linux.zip', - 'ubuntu18.04-arm64': 'builds/chromium/%s/chromium-with-symbols-linux-arm64.zip', + 'ubuntu18.04-arm64': undefined, 'ubuntu20.04-arm64': 'builds/chromium/%s/chromium-with-symbols-linux-arm64.zip', 'ubuntu22.04-arm64': 'builds/chromium/%s/chromium-with-symbols-linux-arm64.zip', 'debian11-x64': 'builds/chromium/%s/chromium-with-symbols-linux.zip', @@ -146,7 +146,7 @@ const DOWNLOAD_PATHS: Record = { }, 'firefox': { '': undefined, - 'ubuntu18.04-x64': 'builds/firefox/%s/firefox-ubuntu-18.04.zip', + 'ubuntu18.04-x64': undefined, 'ubuntu20.04-x64': 'builds/firefox/%s/firefox-ubuntu-20.04.zip', 'ubuntu22.04-x64': 'builds/firefox/%s/firefox-ubuntu-22.04.zip', 'ubuntu18.04-arm64': undefined, @@ -169,7 +169,7 @@ const DOWNLOAD_PATHS: Record = { }, 'firefox-beta': { '': undefined, - 'ubuntu18.04-x64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-18.04.zip', + 'ubuntu18.04-x64': undefined, 'ubuntu20.04-x64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-20.04.zip', 'ubuntu22.04-x64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-22.04.zip', 'ubuntu18.04-arm64': undefined, @@ -215,7 +215,7 @@ const DOWNLOAD_PATHS: Record = { }, 'webkit': { '': undefined, - 'ubuntu18.04-x64': 'builds/deprecated-webkit-ubuntu-18.04/%s/deprecated-webkit-ubuntu-18.04.zip', + 'ubuntu18.04-x64': undefined, 'ubuntu20.04-x64': 'builds/webkit/%s/webkit-ubuntu-20.04.zip', 'ubuntu22.04-x64': 'builds/webkit/%s/webkit-ubuntu-22.04.zip', 'ubuntu18.04-arm64': undefined, @@ -238,10 +238,10 @@ const DOWNLOAD_PATHS: Record = { }, 'ffmpeg': { '': undefined, - 'ubuntu18.04-x64': 'builds/ffmpeg/%s/ffmpeg-linux.zip', + 'ubuntu18.04-x64': undefined, 'ubuntu20.04-x64': 'builds/ffmpeg/%s/ffmpeg-linux.zip', 'ubuntu22.04-x64': 'builds/ffmpeg/%s/ffmpeg-linux.zip', - 'ubuntu18.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', + 'ubuntu18.04-arm64': undefined, 'ubuntu20.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', 'ubuntu22.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', 'debian11-x64': 'builds/ffmpeg/%s/ffmpeg-linux.zip', @@ -261,10 +261,10 @@ const DOWNLOAD_PATHS: Record = { }, 'android': { '': 'builds/android/%s/android.zip', - 'ubuntu18.04-x64': 'builds/android/%s/android.zip', + 'ubuntu18.04-x64': undefined, 'ubuntu20.04-x64': 'builds/android/%s/android.zip', 'ubuntu22.04-x64': 'builds/android/%s/android.zip', - 'ubuntu18.04-arm64': 'builds/android/%s/android.zip', + 'ubuntu18.04-arm64': undefined, 'ubuntu20.04-arm64': 'builds/android/%s/android.zip', 'ubuntu22.04-arm64': 'builds/android/%s/android.zip', 'debian11-x64': 'builds/android/%s/android.zip', diff --git a/packages/playwright-core/src/server/registry/nativeDeps.ts b/packages/playwright-core/src/server/registry/nativeDeps.ts index 7970156225..0f5f1c499e 100644 --- a/packages/playwright-core/src/server/registry/nativeDeps.ts +++ b/packages/playwright-core/src/server/registry/nativeDeps.ts @@ -19,168 +19,6 @@ // ./utils/linux-browser-dependencies/run.sh ubuntu:20.04 export const deps: any = { - 'ubuntu18.04-x64': { - tools: [ - 'xvfb', - 'fonts-noto-color-emoji', - 'ttf-unifont', - 'libfontconfig', - 'libfreetype6', - 'xfonts-cyrillic', - 'xfonts-scalable', - 'fonts-liberation', - 'fonts-ipafont-gothic', - 'fonts-wqy-zenhei', - 'fonts-tlwg-loma-otf', - 'ttf-ubuntu-font-family', - ], - chromium: [ - 'fonts-liberation', - 'libasound2', - 'libatk-bridge2.0-0', - 'libatk1.0-0', - 'libatspi2.0-0', - 'libcairo2', - 'libcups2', - 'libdbus-1-3', - 'libdrm2', - 'libegl1', - 'libgbm1', - 'libglib2.0-0', - 'libgtk-3-0', - 'libnspr4', - 'libnss3', - 'libpango-1.0-0', - 'libx11-6', - 'libx11-xcb1', - 'libxcb1', - 'libxcomposite1', - 'libxdamage1', - 'libxext6', - 'libxfixes3', - 'libxrandr2', - 'libxshmfence1', - ], - firefox: [ - 'ffmpeg', - 'libatk1.0-0', - 'libcairo-gobject2', - 'libcairo2', - 'libdbus-1-3', - 'libdbus-glib-1-2', - 'libfontconfig1', - 'libfreetype6', - 'libgdk-pixbuf2.0-0', - 'libglib2.0-0', - 'libgtk-3-0', - 'libpango-1.0-0', - 'libpangocairo-1.0-0', - 'libpangoft2-1.0-0', - 'libx11-6', - 'libx11-xcb1', - 'libxcb-shm0', - 'libxcb1', - 'libxcomposite1', - 'libxcursor1', - 'libxdamage1', - 'libxext6', - 'libxfixes3', - 'libxi6', - 'libxrender1', - 'libxt6', - 'libxtst6', - ], - webkit: [], - lib2package: { - 'libasound.so.2': 'libasound2', - 'libatk-1.0.so.0': 'libatk1.0-0', - 'libatk-bridge-2.0.so.0': 'libatk-bridge2.0-0', - 'libatspi.so.0': 'libatspi2.0-0', - 'libbrotlidec.so.1': 'libbrotli1', - 'libcairo-gobject.so.2': 'libcairo-gobject2', - 'libcairo.so.2': 'libcairo2', - 'libcups.so.2': 'libcups2', - 'libdbus-1.so.3': 'libdbus-1-3', - 'libdbus-glib-1.so.2': 'libdbus-glib-1-2', - 'libdrm.so.2': 'libdrm2', - 'libEGL.so.1': 'libegl1', - 'libenchant.so.1': 'libenchant1c2a', - 'libepoxy.so.0': 'libepoxy0', - 'libevent-2.1.so.6': 'libevent-2.1-6', - 'libevdev.so.2': 'libevdev2', - 'libfontconfig.so.1': 'libfontconfig1', - 'libfreetype.so.6': 'libfreetype6', - 'libgbm.so.1': 'libgbm1', - 'libgdk_pixbuf-2.0.so.0': 'libgdk-pixbuf2.0-0', - 'libgdk-3.so.0': 'libgtk-3-0', - 'libgdk-x11-2.0.so.0': 'libgtk2.0-0', - 'libgio-2.0.so.0': 'libglib2.0-0', - 'libGL.so.1': 'libgl1', - 'libGLESv2.so.2': 'libgles2', - 'libglib-2.0.so.0': 'libglib2.0-0', - 'libgmodule-2.0.so.0': 'libglib2.0-0', - 'libgobject-2.0.so.0': 'libglib2.0-0', - 'libgstapp-1.0.so.0': 'gstreamer1.0-plugins-base', - 'libgstaudio-1.0.so.0': 'gstreamer1.0-plugins-base', - 'libgstbase-1.0.so.0': 'libgstreamer1.0-0', - 'libgstcodecparsers-1.0.so.0': 'gstreamer1.0-plugins-bad', - 'libgstfft-1.0.so.0': 'gstreamer1.0-plugins-base', - 'libgstgl-1.0.so.0': 'libgstreamer-gl1.0-0', - 'libgstpbutils-1.0.so.0': 'gstreamer1.0-plugins-base', - 'libgstreamer-1.0.so.0': 'libgstreamer1.0-0', - 'libgsttag-1.0.so.0': 'gstreamer1.0-plugins-base', - 'libgstvideo-1.0.so.0': 'gstreamer1.0-plugins-base', - 'libgthread-2.0.so.0': 'libglib2.0-0', - 'libgtk-3.so.0': 'libgtk-3-0', - 'libgtk-x11-2.0.so.0': 'libgtk2.0-0', - 'libharfbuzz-icu.so.0': 'libharfbuzz-icu0', - 'libharfbuzz.so.0': 'libharfbuzz0b', - 'libhyphen.so.0': 'libhyphen0', - 'libicudata.so.60': 'libicu60', - 'libicui18n.so.60': 'libicu60', - 'libicuuc.so.60': 'libicu60', - 'libjpeg.so.8': 'libjpeg-turbo8', - 'libnotify.so.4': 'libnotify4', - 'libnspr4.so': 'libnspr4', - 'libnss3.so': 'libnss3', - 'libnssutil3.so': 'libnss3', - 'libopenjp2.so.7': 'libopenjp2-7', - 'libopus.so.0': 'libopus0', - 'libpango-1.0.so.0': 'libpango-1.0-0', - 'libpangocairo-1.0.so.0': 'libpangocairo-1.0-0', - 'libpangoft2-1.0.so.0': 'libpangoft2-1.0-0', - 'libpng16.so.16': 'libpng16-16', - 'libsecret-1.so.0': 'libsecret-1-0', - 'libsmime3.so': 'libnss3', - 'libvpx.so.5': 'libvpx5', - 'libwayland-client.so.0': 'libwayland-client0', - 'libwayland-egl.so.1': 'libwayland-egl1', - 'libwayland-server.so.0': 'libwayland-server0', - 'libwebp.so.6': 'libwebp6', - 'libwebpdemux.so.2': 'libwebpdemux2', - 'libwoff2dec.so.1.0.2': 'libwoff1', - 'libX11-xcb.so.1': 'libx11-xcb1', - 'libX11.so.6': 'libx11-6', - 'libxcb-dri3.so.0': 'libxcb-dri3-0', - 'libxcb-shm.so.0': 'libxcb-shm0', - 'libxcb.so.1': 'libxcb1', - 'libXcomposite.so.1': 'libxcomposite1', - 'libXcursor.so.1': 'libxcursor1', - 'libXdamage.so.1': 'libxdamage1', - 'libXext.so.6': 'libxext6', - 'libXfixes.so.3': 'libxfixes3', - 'libXi.so.6': 'libxi6', - 'libxkbcommon.so.0': 'libxkbcommon0', - 'libxml2.so.2': 'libxml2', - 'libXrandr.so.2': 'libxrandr2', - 'libXrender.so.1': 'libxrender1', - 'libxslt.so.1': 'libxslt1.1', - 'libXt.so.6': 'libxt6', - 'libXtst.so.6': 'libxtst6', - 'libevent-2.1-6': 'libevent-2.1-6', - }, - }, - 'ubuntu20.04-x64': { tools: [ 'xvfb', diff --git a/packages/playwright-core/src/utils/hostPlatform.ts b/packages/playwright-core/src/utils/hostPlatform.ts index 1cf354d574..89b03f0065 100644 --- a/packages/playwright-core/src/utils/hostPlatform.ts +++ b/packages/playwright-core/src/utils/hostPlatform.ts @@ -67,7 +67,7 @@ function calculatePlatform(): { hostPlatform: HostPlatform, isOfficiallySupporte if (distroInfo?.id === 'ubuntu' || distroInfo?.id === 'pop' || distroInfo?.id === 'neon' || distroInfo?.id === 'tuxedo') { const isOfficiallySupportedPlatform = distroInfo?.id === 'ubuntu'; if (parseInt(distroInfo.version, 10) <= 19) - return { hostPlatform: ('ubuntu18.04' + archSuffix) as HostPlatform, isOfficiallySupportedPlatform }; + return { hostPlatform: ('ubuntu18.04' + archSuffix) as HostPlatform, isOfficiallySupportedPlatform: false }; if (parseInt(distroInfo.version, 10) <= 21) return { hostPlatform: ('ubuntu20.04' + archSuffix) as HostPlatform, isOfficiallySupportedPlatform }; return { hostPlatform: ('ubuntu22.04' + archSuffix) as HostPlatform, isOfficiallySupportedPlatform };