From 05843bdfd947ba2cda4ebcfb4a7f3ddddd7389c7 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Mon, 23 Jan 2023 15:54:25 +0100 Subject: [PATCH] chore: support Debian 11 arm64 (#19676) https://github.com/microsoft/playwright/issues/18319 --- .../playwright-core/src/server/registry/index.ts | 7 +++++++ .../src/server/registry/nativeDeps.ts | 14 ++++++++++++++ packages/playwright-core/src/utils/hostPlatform.ts | 6 +++--- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/packages/playwright-core/src/server/registry/index.ts b/packages/playwright-core/src/server/registry/index.ts index d9ddd89445..25c63944bb 100644 --- a/packages/playwright-core/src/server/registry/index.ts +++ b/packages/playwright-core/src/server/registry/index.ts @@ -85,6 +85,7 @@ const DOWNLOAD_PATHS = { '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', + 'debian11-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', 'mac10.13': 'builds/chromium/%s/chromium-mac.zip', 'mac10.14': 'builds/chromium/%s/chromium-mac.zip', 'mac10.15': 'builds/chromium/%s/chromium-mac.zip', @@ -105,6 +106,7 @@ const DOWNLOAD_PATHS = { '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', + 'debian11-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip', 'mac10.13': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip', 'mac10.14': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip', 'mac10.15': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip', @@ -125,6 +127,7 @@ const DOWNLOAD_PATHS = { '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', + 'debian11-arm64': 'builds/chromium/%s/chromium-with-symbols-linux-arm64.zip', 'mac10.13': 'builds/chromium/%s/chromium-with-symbols-mac.zip', 'mac10.14': 'builds/chromium/%s/chromium-with-symbols-mac.zip', 'mac10.15': 'builds/chromium/%s/chromium-with-symbols-mac.zip', @@ -145,6 +148,7 @@ const DOWNLOAD_PATHS = { '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', + 'debian11-arm64': 'builds/firefox/%s/firefox-debian-11-arm64.zip', 'mac10.13': 'builds/firefox/%s/firefox-mac-11.zip', 'mac10.14': 'builds/firefox/%s/firefox-mac-11.zip', 'mac10.15': 'builds/firefox/%s/firefox-mac-11.zip', @@ -165,6 +169,7 @@ const DOWNLOAD_PATHS = { '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', + 'debian11-arm64': 'builds/firefox-beta/%s/firefox-beta-debian-11-arm64.zip', 'mac10.13': 'builds/firefox-beta/%s/firefox-beta-mac-11.zip', 'mac10.14': 'builds/firefox-beta/%s/firefox-beta-mac-11.zip', 'mac10.15': 'builds/firefox-beta/%s/firefox-beta-mac-11.zip', @@ -185,6 +190,7 @@ const DOWNLOAD_PATHS = { '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', + 'debian11-arm64': 'builds/webkit/%s/webkit-debian-11-arm64.zip', 'mac10.13': undefined, 'mac10.14': 'builds/deprecated-webkit-mac-10.14/%s/deprecated-webkit-mac-10.14.zip', 'mac10.15': 'builds/deprecated-webkit-mac-10.15/%s/deprecated-webkit-mac-10.15.zip', @@ -205,6 +211,7 @@ const DOWNLOAD_PATHS = { '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', + 'debian11-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', 'mac10.13': 'builds/ffmpeg/%s/ffmpeg-mac.zip', 'mac10.14': 'builds/ffmpeg/%s/ffmpeg-mac.zip', 'mac10.15': 'builds/ffmpeg/%s/ffmpeg-mac.zip', diff --git a/packages/playwright-core/src/server/registry/nativeDeps.ts b/packages/playwright-core/src/server/registry/nativeDeps.ts index 5c9951824b..bd6d31756f 100644 --- a/packages/playwright-core/src/server/registry/nativeDeps.ts +++ b/packages/playwright-core/src/server/registry/nativeDeps.ts @@ -852,3 +852,17 @@ deps['ubuntu22.04-arm64'] = { }, }; +deps['debian11-arm64'] = { + tools: [...deps['debian11'].tools], + chromium: [...deps['debian11'].chromium], + firefox: [ + ...deps['debian11'].firefox, + ], + webkit: [ + ...deps['debian11'].webkit, + ], + lib2package: { + ...deps['debian11'].lib2package, + }, +}; + diff --git a/packages/playwright-core/src/utils/hostPlatform.ts b/packages/playwright-core/src/utils/hostPlatform.ts index 8fee4f1c8c..b46c447e8f 100644 --- a/packages/playwright-core/src/utils/hostPlatform.ts +++ b/packages/playwright-core/src/utils/hostPlatform.ts @@ -26,7 +26,7 @@ export type HostPlatform = 'win64' | 'ubuntu18.04' | 'ubuntu18.04-arm64' | 'ubuntu20.04' | 'ubuntu20.04-arm64' | 'ubuntu22.04' | 'ubuntu22.04-arm64' | - 'debian11' | + 'debian11' | 'debian11-arm64' | 'generic-linux' | 'generic-linux-arm64' | ''; @@ -65,8 +65,8 @@ export const hostPlatform = ((): HostPlatform => { return ('ubuntu20.04' + archSuffix) as HostPlatform; return ('ubuntu22.04' + archSuffix) as HostPlatform; } - if (distroInfo?.id === 'debian' && distroInfo?.version === '11' && !archSuffix) - return 'debian11'; + if (distroInfo?.id === 'debian' && distroInfo?.version === '11') + return ('debian11' + archSuffix) as HostPlatform; return ('generic-linux' + archSuffix) as HostPlatform; } if (platform === 'win32')