chore: drop Ubuntu 18.04 support (#18924)
This commit is contained in:
Родитель
d6ab1a90bf
Коммит
6a5552ba24
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -78,10 +78,8 @@ const DOWNLOAD_PATHS = {
|
|||
'<unknown>': 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 = {
|
|||
'<unknown>': 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 = {
|
|||
'<unknown>': 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 = {
|
|||
'<unknown>': 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 = {
|
|||
'<unknown>': 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 = {
|
|||
'<unknown>': 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 = {
|
|||
'<unknown>': 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);
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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' |
|
||||
'<unknown>';
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче