From 6a5552ba2466f4ebe197d504fa9237028666e372 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Mon, 21 Nov 2022 11:23:45 -1000 Subject: [PATCH] chore: drop Ubuntu 18.04 support (#18924) --- .github/workflows/tests_secondary.yml | 8 +- docs/src/docker.md | 1 - docs/src/release-notes-csharp.md | 8 +- docs/src/release-notes-java.md | 8 +- docs/src/release-notes-js.md | 8 +- docs/src/release-notes-python.md | 8 +- docs/src/troubleshooting.md | 2 +- .../src/server/registry/index.ts | 16 +- .../src/server/registry/nativeDeps.ts | 209 ------------------ .../playwright-core/src/utils/hostPlatform.ts | 2 +- utils/docker/Dockerfile.bionic | 43 ---- utils/docker/build.sh | 2 +- utils/docker/publish_docker.sh | 23 +- 13 files changed, 28 insertions(+), 310 deletions(-) delete mode 100644 utils/docker/Dockerfile.bionic diff --git a/.github/workflows/tests_secondary.yml b/.github/workflows/tests_secondary.yml index 89a1d310a051a..13931d59a1447 100644 --- a/.github/workflows/tests_secondary.yml +++ b/.github/workflows/tests_secondary.yml @@ -26,7 +26,7 @@ jobs: fail-fast: false matrix: browser: [chromium, firefox, webkit] - os: [ubuntu-18.04, ubuntu-20.04] + os: [ubuntu-20.04, ubuntu-22.04] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 @@ -328,7 +328,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-18.04, macos-12, windows-latest] + os: [ubuntu-20.04, macos-12, windows-latest] steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 @@ -341,11 +341,11 @@ jobs: - run: npm run build - run: npx playwright install --with-deps chromium-tip-of-tree - run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- npm run ctest - if: matrix.os == 'ubuntu-18.04' + if: matrix.os == 'ubuntu-20.04' env: PWTEST_CHANNEL: chromium-tip-of-tree - run: npm run ctest - if: matrix.os != 'ubuntu-18.04' + if: matrix.os != 'ubuntu-20.04' env: PWTEST_CHANNEL: chromium-tip-of-tree - run: ./utils/upload_flakiness_dashboard.sh ./test-results/report.json diff --git a/docs/src/docker.md b/docs/src/docker.md index 1215d692c79a6..446dee535e1b1 100644 --- a/docs/src/docker.md +++ b/docs/src/docker.md @@ -121,7 +121,6 @@ It is recommended to always pin your Docker image to a specific version if possi We currently publish images based on the following [Ubuntu](https://hub.docker.com/_/ubuntu) versions: - **Ubuntu 22.04 LTS** (Jammy Jellyfish), image tags include `jammy` (not published for Java and .NET) - **Ubuntu 20.04 LTS** (Focal Fossa), image tags include `focal` -- **Ubuntu 18.04 LTS** (Bionic Beaver), image tags include `bionic` (not published for Java and .NET) #### Alpine diff --git a/docs/src/release-notes-csharp.md b/docs/src/release-notes-csharp.md index 3256d70eb709f..dd102d841b8d0 100644 --- a/docs/src/release-notes-csharp.md +++ b/docs/src/release-notes-csharp.md @@ -178,11 +178,11 @@ if you encounter any issues! Linux support looks like this: -| | Ubuntu 18.04 | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 +| | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | :--- | :---: | :---: | :---: | :---: | -| Chromium | ✅ | ✅ | ✅ | ✅ | -| WebKit | ✅ | ✅ | ✅ | ✅ | -| Firefox | ✅ | ✅ | ✅ | ✅ | +| Chromium | ✅ | ✅ | ✅ | +| WebKit | ✅ | ✅ | ✅ | +| Firefox | ✅ | ✅ | ✅ | ### New introduction docs diff --git a/docs/src/release-notes-java.md b/docs/src/release-notes-java.md index dd71155890252..5025f2bf7b668 100644 --- a/docs/src/release-notes-java.md +++ b/docs/src/release-notes-java.md @@ -153,11 +153,11 @@ if you encounter any issues! Linux support looks like this: -| | Ubuntu 18.04 | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 +| | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | :--- | :---: | :---: | :---: | :---: | -| Chromium | ✅ | ✅ | ✅ | ✅ | -| WebKit | ✅ | ✅ | ✅ | ✅ | -| Firefox | ✅ | ✅ | ✅ | ✅ | +| Chromium | ✅ | ✅ | ✅ | +| WebKit | ✅ | ✅ | ✅ | +| Firefox | ✅ | ✅ | ✅ | ## Version 1.23 diff --git a/docs/src/release-notes-js.md b/docs/src/release-notes-js.md index 62cffb03d1a1e..4481d64033d99 100644 --- a/docs/src/release-notes-js.md +++ b/docs/src/release-notes-js.md @@ -273,11 +273,11 @@ if you encounter any issues! Linux support looks like this: -| | Ubuntu 18.04 | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 +| | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | :--- | :---: | :---: | :---: | :---: | -| Chromium | ✅ | ✅ | ✅ | ✅ | -| WebKit | ✅ | ✅ | ✅ | ✅ | -| Firefox | ✅ | ✅ | ✅ | ✅ | +| Chromium | ✅ | ✅ | ✅ | +| WebKit | ✅ | ✅ | ✅ | +| Firefox | ✅ | ✅ | ✅ | ### 🕵️ Anonymous Describe diff --git a/docs/src/release-notes-python.md b/docs/src/release-notes-python.md index ab6219150999f..d41874413b433 100644 --- a/docs/src/release-notes-python.md +++ b/docs/src/release-notes-python.md @@ -150,11 +150,11 @@ if you encounter any issues! Linux support looks like this: -| | Ubuntu 18.04 | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 +| | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | :--- | :---: | :---: | :---: | :---: | -| Chromium | ✅ | ✅ | ✅ | ✅ | -| WebKit | ✅ | ✅ | ✅ | ✅ | -| Firefox | ✅ | ✅ | ✅ | ✅ | +| Chromium | ✅ | ✅ | ✅ | +| WebKit | ✅ | ✅ | ✅ | +| Firefox | ✅ | ✅ | ✅ | ### New introduction docs diff --git a/docs/src/troubleshooting.md b/docs/src/troubleshooting.md index d78e96864895a..565049936c87d 100644 --- a/docs/src/troubleshooting.md +++ b/docs/src/troubleshooting.md @@ -85,7 +85,7 @@ Depending on your Linux distribution, you might need to install additional dependencies to run the browsers. :::note -Only Ubuntu 18.04, 20.04, and 22.04 are officially supported. +Only Ubuntu 20.04, and 22.04 are officially supported. ::: See also in the [Command line tools](./cli.md#install-system-dependencies) diff --git a/packages/playwright-core/src/server/registry/index.ts b/packages/playwright-core/src/server/registry/index.ts index ae036f5d83101..385f0f3edeb3a 100644 --- a/packages/playwright-core/src/server/registry/index.ts +++ b/packages/playwright-core/src/server/registry/index.ts @@ -78,10 +78,8 @@ const DOWNLOAD_PATHS = { '': undefined, 'generic-linux': 'builds/chromium/%s/chromium-linux.zip', 'generic-linux-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', - 'ubuntu18.04': 'builds/chromium/%s/chromium-linux.zip', 'ubuntu20.04': 'builds/chromium/%s/chromium-linux.zip', 'ubuntu22.04': 'builds/chromium/%s/chromium-linux.zip', - 'ubuntu18.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', 'ubuntu20.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', 'ubuntu22.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', 'debian11': 'builds/chromium/%s/chromium-linux.zip', @@ -98,10 +96,8 @@ const DOWNLOAD_PATHS = { '': undefined, 'generic-linux': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip', 'generic-linux-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip', - 'ubuntu18.04': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip', 'ubuntu20.04': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip', 'ubuntu22.04': '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', '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': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip', @@ -118,10 +114,8 @@ const DOWNLOAD_PATHS = { '': undefined, 'generic-linux': 'builds/chromium/%s/chromium-with-symbols-linux.zip', 'generic-linux-arm64': 'builds/chromium/%s/chromium-with-symbols-linux-arm64.zip', - 'ubuntu18.04': 'builds/chromium/%s/chromium-with-symbols-linux.zip', 'ubuntu20.04': 'builds/chromium/%s/chromium-with-symbols-linux.zip', 'ubuntu22.04': 'builds/chromium/%s/chromium-with-symbols-linux.zip', - 'ubuntu18.04-arm64': 'builds/chromium/%s/chromium-with-symbols-linux-arm64.zip', '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': 'builds/chromium/%s/chromium-with-symbols-linux.zip', @@ -138,10 +132,8 @@ const DOWNLOAD_PATHS = { '': undefined, 'generic-linux': 'builds/firefox/%s/firefox-ubuntu-20.04.zip', 'generic-linux-arm64': 'builds/firefox/%s/firefox-ubuntu-20.04-arm64.zip', - 'ubuntu18.04': 'builds/firefox/%s/firefox-ubuntu-18.04.zip', 'ubuntu20.04': 'builds/firefox/%s/firefox-ubuntu-20.04.zip', 'ubuntu22.04': 'builds/firefox/%s/firefox-ubuntu-22.04.zip', - 'ubuntu18.04-arm64': undefined, 'ubuntu20.04-arm64': 'builds/firefox/%s/firefox-ubuntu-20.04-arm64.zip', 'ubuntu22.04-arm64': 'builds/firefox/%s/firefox-ubuntu-22.04-arm64.zip', 'debian11': 'builds/firefox/%s/firefox-debian-11.zip', @@ -158,10 +150,8 @@ const DOWNLOAD_PATHS = { '': undefined, 'generic-linux': 'builds/firefox-beta/%s/firefox-beta-ubuntu-20.04.zip', 'generic-linux-arm64': undefined, - 'ubuntu18.04': 'builds/firefox-beta/%s/firefox-beta-ubuntu-18.04.zip', 'ubuntu20.04': 'builds/firefox-beta/%s/firefox-beta-ubuntu-20.04.zip', 'ubuntu22.04': 'builds/firefox-beta/%s/firefox-beta-ubuntu-22.04.zip', - 'ubuntu18.04-arm64': undefined, 'ubuntu20.04-arm64': undefined, 'ubuntu22.04-arm64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-22.04-arm64.zip', 'debian11': 'builds/firefox-beta/%s/firefox-beta-debian-11.zip', @@ -178,10 +168,8 @@ const DOWNLOAD_PATHS = { '': undefined, 'generic-linux': 'builds/webkit/%s/webkit-ubuntu-20.04.zip', 'generic-linux-arm64': 'builds/webkit/%s/webkit-ubuntu-20.04-arm64.zip', - 'ubuntu18.04': 'builds/webkit/%s/webkit-ubuntu-18.04.zip', 'ubuntu20.04': 'builds/webkit/%s/webkit-ubuntu-20.04.zip', 'ubuntu22.04': 'builds/webkit/%s/webkit-ubuntu-22.04.zip', - 'ubuntu18.04-arm64': undefined, 'ubuntu20.04-arm64': 'builds/webkit/%s/webkit-ubuntu-20.04-arm64.zip', 'ubuntu22.04-arm64': 'builds/webkit/%s/webkit-ubuntu-22.04-arm64.zip', 'debian11': 'builds/webkit/%s/webkit-debian-11.zip', @@ -198,10 +186,8 @@ const DOWNLOAD_PATHS = { '': undefined, 'generic-linux': 'builds/ffmpeg/%s/ffmpeg-linux.zip', 'generic-linux-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', - 'ubuntu18.04': 'builds/ffmpeg/%s/ffmpeg-linux.zip', 'ubuntu20.04': 'builds/ffmpeg/%s/ffmpeg-linux.zip', 'ubuntu22.04': 'builds/ffmpeg/%s/ffmpeg-linux.zip', - 'ubuntu18.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', 'ubuntu20.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', 'ubuntu22.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', 'debian11': 'builds/ffmpeg/%s/ffmpeg-linux.zip', @@ -659,7 +645,7 @@ export class Registry { } const distributionInfo = await getLinuxDistributionInfo(); if (browserName === 'firefox' && distributionInfo?.id === 'ubuntu' && distributionInfo?.version === '16.04') - throw new Error(`Cannot launch Firefox on Ubuntu 16.04! Minimum required Ubuntu version for Firefox browser is 18.04`); + throw new Error(`Cannot launch Firefox on Ubuntu 16.04! Minimum required Ubuntu version for Firefox browser is 20.04`); if (os.platform() === 'linux') return await validateDependenciesLinux(sdkLanguage, linuxLddDirectories.map(d => path.join(browserDirectory, d)), dlOpenLibraries); diff --git a/packages/playwright-core/src/server/registry/nativeDeps.ts b/packages/playwright-core/src/server/registry/nativeDeps.ts index cc7ebb49d30f5..a56798e7062fe 100644 --- a/packages/playwright-core/src/server/registry/nativeDeps.ts +++ b/packages/playwright-core/src/server/registry/nativeDeps.ts @@ -19,215 +19,6 @@ // ./utils/linux-browser-dependencies/run.sh ubuntu:20.04 export const deps: any = { - 'ubuntu18.04': { - 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: [ - 'gstreamer1.0-libav', - 'gstreamer1.0-plugins-bad', - 'gstreamer1.0-plugins-base', - 'gstreamer1.0-plugins-good', - 'libatk-bridge2.0-0', - 'libatk1.0-0', - 'libbrotli1', - 'libcairo2', - 'libegl1', - 'libenchant1c2a', - 'libepoxy0', - 'libevdev2', - 'libfontconfig1', - 'libfreetype6', - 'libgdk-pixbuf2.0-0', - 'libgl1', - 'libgles2', - 'libglib2.0-0', - 'libgstreamer-gl1.0-0', - 'libgstreamer1.0-0', - 'libgtk-3-0', - 'libharfbuzz-icu0', - 'libharfbuzz0b', - 'libhyphen0', - 'libicu60', - 'libjpeg-turbo8', - 'libnotify4', - 'libopenjp2-7', - 'libopus0', - 'libpango-1.0-0', - 'libpng16-16', - 'libsecret-1-0', - 'libvpx5', - 'libwayland-client0', - 'libwayland-egl1', - 'libwayland-server0', - 'libwebp6', - 'libwebpdemux2', - 'libwoff1', - 'libx11-6', - 'libxcomposite1', - 'libxdamage1', - 'libxkbcommon0', - 'libxml2', - 'libxslt1.1', - 'libevent-2.1-6', - ], - 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': { tools: [ 'xvfb', diff --git a/packages/playwright-core/src/utils/hostPlatform.ts b/packages/playwright-core/src/utils/hostPlatform.ts index 4f343b186d9ab..7b3c3e0e70821 100644 --- a/packages/playwright-core/src/utils/hostPlatform.ts +++ b/packages/playwright-core/src/utils/hostPlatform.ts @@ -23,8 +23,8 @@ export type HostPlatform = 'win64' | 'mac10.15' | 'mac11' | 'mac11-arm64' | 'mac12' | 'mac12-arm64' | - 'ubuntu18.04' | 'ubuntu18.04-arm64' | 'ubuntu20.04' | 'ubuntu20.04-arm64' | + 'ubuntu22.04' | 'ubuntu22.04-arm64' | 'debian11' | 'generic-linux' | 'generic-linux-arm64' | ''; diff --git a/utils/docker/Dockerfile.bionic b/utils/docker/Dockerfile.bionic deleted file mode 100644 index 99d64fa14a8ab..0000000000000 --- a/utils/docker/Dockerfile.bionic +++ /dev/null @@ -1,43 +0,0 @@ -FROM ubuntu:bionic - -ARG DEBIAN_FRONTEND=noninteractive -ARG TZ=America/Los_Angeles -ARG DOCKER_IMAGE_NAME_TEMPLATE="mcr.microsoft.com/playwright:v%version%-bionic" - -# === INSTALL Node.js === - -RUN apt-get update && \ - # Install node16 - apt-get install -y curl wget gpg && \ - curl -sL https://deb.nodesource.com/setup_16.x | bash - && \ - apt-get install -y nodejs && \ - # Feature-parity with node.js base images. - apt-get install -y --no-install-recommends git openssh-client && \ - npm install -g yarn && \ - # clean apt cache - rm -rf /var/lib/apt/lists/* && \ - # Create the pwuser (we internally create a symlink for the pwuser and the root user) - adduser pwuser - -# === BAKE BROWSERS INTO IMAGE === - -ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright - -# 1. Add tip-of-tree Playwright package to install its browsers. -# The package should be built beforehand from tip-of-tree Playwright. -COPY ./playwright-core.tar.gz /tmp/playwright-core.tar.gz - -# 2. Bake in browsers & deps. -# Browsers will be downloaded in `/ms-playwright`. -# Note: make sure to set 777 to the registry so that any user can access -# registry. -RUN mkdir /ms-playwright && \ - mkdir /ms-playwright-agent && \ - cd /ms-playwright-agent && npm init -y && \ - npm i /tmp/playwright-core.tar.gz && \ - npx playwright mark-docker-image "${DOCKER_IMAGE_NAME_TEMPLATE}" && \ - npx playwright install --with-deps && rm -rf /var/lib/apt/lists/* && \ - rm /tmp/playwright-core.tar.gz && \ - rm -rf /ms-playwright-agent && \ - chmod -R 777 /ms-playwright - diff --git a/utils/docker/build.sh b/utils/docker/build.sh index d3f4a135b83ac..1d69a5d918c1e 100755 --- a/utils/docker/build.sh +++ b/utils/docker/build.sh @@ -3,7 +3,7 @@ set -e set +x if [[ ($1 == '--help') || ($1 == '-h') || ($1 == '') || ($2 == '') ]]; then - echo "usage: $(basename $0) {--arm64,--amd64} {bionic,focal,jammy} playwright:localbuild-focal" + echo "usage: $(basename $0) {--arm64,--amd64} {focal,jammy} playwright:localbuild-focal" echo echo "Build Playwright docker image and tag it as 'playwright:localbuild-focal'." echo "Once image is built, you can run it with" diff --git a/utils/docker/publish_docker.sh b/utils/docker/publish_docker.sh index eac2c368b2f34..01eebae08a18c 100755 --- a/utils/docker/publish_docker.sh +++ b/utils/docker/publish_docker.sh @@ -31,14 +31,6 @@ if [[ -z "${GITHUB_SHA}" ]]; then exit 1 fi -BIONIC_TAGS=( - "next-bionic" - "v${PW_VERSION}-bionic" -) -if [[ "$RELEASE_CHANNEL" == "stable" ]]; then - BIONIC_TAGS+=("bionic") -fi - FOCAL_TAGS=( "next" "sha-${GITHUB_SHA}" @@ -72,14 +64,12 @@ tag_and_push() { publish_docker_images_with_arch_suffix() { local FLAVOR="$1" local TAGS=() - if [[ "$FLAVOR" == "bionic" ]]; then - TAGS=("${BIONIC_TAGS[@]}") - elif [[ "$FLAVOR" == "focal" ]]; then + if [[ "$FLAVOR" == "focal" ]]; then TAGS=("${FOCAL_TAGS[@]}") elif [[ "$FLAVOR" == "jammy" ]]; then TAGS=("${JAMMY_TAGS[@]}") else - echo "ERROR: unknown flavor - $FLAVOR. Must be either 'bionic', 'focal', or 'jammy'" + echo "ERROR: unknown flavor - $FLAVOR. Must be either 'focal', or 'jammy'" exit 1 fi local ARCH="$2" @@ -100,14 +90,12 @@ publish_docker_images_with_arch_suffix() { publish_docker_manifest () { local FLAVOR="$1" local TAGS=() - if [[ "$FLAVOR" == "bionic" ]]; then - TAGS=("${BIONIC_TAGS[@]}") - elif [[ "$FLAVOR" == "focal" ]]; then + if [[ "$FLAVOR" == "focal" ]]; then TAGS=("${FOCAL_TAGS[@]}") elif [[ "$FLAVOR" == "jammy" ]]; then TAGS=("${JAMMY_TAGS[@]}") else - echo "ERROR: unknown flavor - $FLAVOR. Must be either 'bionic', 'focal', or 'jammy'" + echo "ERROR: unknown flavor - $FLAVOR. Must be either 'focal', or 'jammy'" exit 1 fi @@ -126,9 +114,6 @@ publish_docker_manifest () { done } -publish_docker_images_with_arch_suffix bionic amd64 -publish_docker_manifest bionic amd64 - publish_docker_images_with_arch_suffix focal amd64 publish_docker_images_with_arch_suffix focal arm64 publish_docker_manifest focal amd64 arm64