diff --git a/packages/playwright-core/src/server/registry/index.ts b/packages/playwright-core/src/server/registry/index.ts index cd2f2f1d32..1ee492d52e 100644 --- a/packages/playwright-core/src/server/registry/index.ts +++ b/packages/playwright-core/src/server/registry/index.ts @@ -33,6 +33,12 @@ import { downloadBrowserWithProgressBar, logPolitely } from './browserFetcher'; export { writeDockerVersion } from './dependencies'; import { debugLogger } from '../../utils/debugLogger'; +let ARCHIVE: '.tar.br' | '.zip' = '.zip'; +if (process.env.PW_BROWSER_DOWNLOAD_BROTLI) + ARCHIVE = '.tar.br'; +if (process.env.PW_BROWSER_DOWNLOAD_ZIP) + ARCHIVE = '.zip'; + const PACKAGE_PATH = path.join(__dirname, '..', '..', '..'); const BIN_PATH = path.join(__dirname, '..', '..', '..', 'bin'); @@ -90,234 +96,234 @@ const DOWNLOAD_PATHS: Record = { 'chromium': { '': undefined, 'ubuntu18.04-x64': undefined, - 'ubuntu20.04-x64': 'builds/chromium/%s/chromium-linux.zip', - 'ubuntu22.04-x64': 'builds/chromium/%s/chromium-linux.zip', - 'ubuntu24.04-x64': 'builds/chromium/%s/chromium-linux.zip', + 'ubuntu20.04-x64': 'builds/chromium/%s/chromium-linux', + 'ubuntu22.04-x64': 'builds/chromium/%s/chromium-linux', + 'ubuntu24.04-x64': 'builds/chromium/%s/chromium-linux', 'ubuntu18.04-arm64': undefined, - 'ubuntu20.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', - 'ubuntu22.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', - 'ubuntu24.04-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', - 'debian11-x64': 'builds/chromium/%s/chromium-linux.zip', - 'debian11-arm64': 'builds/chromium/%s/chromium-linux-arm64.zip', - 'debian12-x64': 'builds/chromium/%s/chromium-linux.zip', - 'debian12-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', - 'mac11': 'builds/chromium/%s/chromium-mac.zip', - 'mac11-arm64': 'builds/chromium/%s/chromium-mac-arm64.zip', - 'mac12': 'builds/chromium/%s/chromium-mac.zip', - 'mac12-arm64': 'builds/chromium/%s/chromium-mac-arm64.zip', - 'mac13': 'builds/chromium/%s/chromium-mac.zip', - 'mac13-arm64': 'builds/chromium/%s/chromium-mac-arm64.zip', - 'mac14': 'builds/chromium/%s/chromium-mac.zip', - 'mac14-arm64': 'builds/chromium/%s/chromium-mac-arm64.zip', - 'mac15': 'builds/chromium/%s/chromium-mac.zip', - 'mac15-arm64': 'builds/chromium/%s/chromium-mac-arm64.zip', - 'win64': 'builds/chromium/%s/chromium-win64.zip', + 'ubuntu20.04-arm64': 'builds/chromium/%s/chromium-linux-arm64', + 'ubuntu22.04-arm64': 'builds/chromium/%s/chromium-linux-arm64', + 'ubuntu24.04-arm64': 'builds/chromium/%s/chromium-linux-arm64', + 'debian11-x64': 'builds/chromium/%s/chromium-linux', + 'debian11-arm64': 'builds/chromium/%s/chromium-linux-arm64', + 'debian12-x64': 'builds/chromium/%s/chromium-linux', + 'debian12-arm64': 'builds/chromium/%s/chromium-linux-arm64', + 'mac10.13': 'builds/chromium/%s/chromium-mac', + 'mac10.14': 'builds/chromium/%s/chromium-mac', + 'mac10.15': 'builds/chromium/%s/chromium-mac', + 'mac11': 'builds/chromium/%s/chromium-mac', + 'mac11-arm64': 'builds/chromium/%s/chromium-mac-arm64', + 'mac12': 'builds/chromium/%s/chromium-mac', + 'mac12-arm64': 'builds/chromium/%s/chromium-mac-arm64', + 'mac13': 'builds/chromium/%s/chromium-mac', + 'mac13-arm64': 'builds/chromium/%s/chromium-mac-arm64', + 'mac14': 'builds/chromium/%s/chromium-mac', + 'mac14-arm64': 'builds/chromium/%s/chromium-mac-arm64', + 'mac15': 'builds/chromium/%s/chromium-mac', + 'mac15-arm64': 'builds/chromium/%s/chromium-mac-arm64', + 'win64': 'builds/chromium/%s/chromium-win64', }, 'chromium-headless-shell': { '': undefined, 'ubuntu18.04-x64': undefined, - 'ubuntu20.04-x64': 'builds/chromium/%s/chromium-headless-shell-linux.zip', - 'ubuntu22.04-x64': 'builds/chromium/%s/chromium-headless-shell-linux.zip', - 'ubuntu24.04-x64': 'builds/chromium/%s/chromium-headless-shell-linux.zip', + 'ubuntu20.04-x64': 'builds/chromium/%s/chromium-headless-shell-linux', + 'ubuntu22.04-x64': 'builds/chromium/%s/chromium-headless-shell-linux', + 'ubuntu24.04-x64': 'builds/chromium/%s/chromium-headless-shell-linux', 'ubuntu18.04-arm64': undefined, - 'ubuntu20.04-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64.zip', - 'ubuntu22.04-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64.zip', - 'ubuntu24.04-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64.zip', - 'debian11-x64': 'builds/chromium/%s/chromium-headless-shell-linux.zip', - 'debian11-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64.zip', - 'debian12-x64': 'builds/chromium/%s/chromium-headless-shell-linux.zip', - 'debian12-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64.zip', + 'ubuntu20.04-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64', + 'ubuntu22.04-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64', + 'ubuntu24.04-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64', + 'debian11-x64': 'builds/chromium/%s/chromium-headless-shell-linux', + 'debian11-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64', + 'debian12-x64': 'builds/chromium/%s/chromium-headless-shell-linux', + 'debian12-arm64': 'builds/chromium/%s/chromium-headless-shell-linux-arm64', 'mac10.13': undefined, 'mac10.14': undefined, 'mac10.15': undefined, - 'mac11': 'builds/chromium/%s/chromium-headless-shell-mac.zip', - 'mac11-arm64': 'builds/chromium/%s/chromium-headless-shell-mac-arm64.zip', - 'mac12': 'builds/chromium/%s/chromium-headless-shell-mac.zip', - 'mac12-arm64': 'builds/chromium/%s/chromium-headless-shell-mac-arm64.zip', - 'mac13': 'builds/chromium/%s/chromium-headless-shell-mac.zip', - 'mac13-arm64': 'builds/chromium/%s/chromium-headless-shell-mac-arm64.zip', - 'mac14': 'builds/chromium/%s/chromium-headless-shell-mac.zip', - 'mac14-arm64': 'builds/chromium/%s/chromium-headless-shell-mac-arm64.zip', - 'mac15': 'builds/chromium/%s/chromium-headless-shell-mac.zip', - 'mac15-arm64': 'builds/chromium/%s/chromium-headless-shell-mac-arm64.zip', - 'win64': 'builds/chromium/%s/chromium-headless-shell-win64.zip', + 'mac11': 'builds/chromium/%s/chromium-headless-shell-mac', + 'mac11-arm64': 'builds/chromium/%s/chromium-headless-shell-mac-arm64', + 'mac12': 'builds/chromium/%s/chromium-headless-shell-mac', + 'mac12-arm64': 'builds/chromium/%s/chromium-headless-shell-mac-arm64', + 'mac13': 'builds/chromium/%s/chromium-headless-shell-mac', + 'mac13-arm64': 'builds/chromium/%s/chromium-headless-shell-mac-arm64', + 'mac14': 'builds/chromium/%s/chromium-headless-shell-mac', + 'mac14-arm64': 'builds/chromium/%s/chromium-headless-shell-mac-arm64', + 'mac15': 'builds/chromium/%s/chromium-headless-shell-mac', + 'mac15-arm64': 'builds/chromium/%s/chromium-headless-shell-mac-arm64', + 'win64': 'builds/chromium/%s/chromium-headless-shell-win64', }, 'chromium-tip-of-tree': { '': undefined, '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', - 'ubuntu24.04-x64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip', + 'ubuntu20.04-x64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux', + 'ubuntu22.04-x64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux', + 'ubuntu24.04-x64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux', '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', - 'ubuntu24.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', - 'debian11-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip', - 'debian12-x64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip', - 'debian12-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', - 'mac11': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip', - 'mac11-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip', - 'mac12': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip', - 'mac12-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip', - 'mac13': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip', - 'mac13-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip', - 'mac14': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip', - 'mac14-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip', - 'mac15': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip', - 'mac15-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64.zip', - 'win64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-win64.zip', + 'ubuntu20.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64', + 'ubuntu22.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64', + 'ubuntu24.04-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64', + 'debian11-x64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux', + 'debian11-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64', + 'debian12-x64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux', + 'debian12-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64', + 'mac10.13': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac', + 'mac10.14': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac', + 'mac10.15': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac', + 'mac11': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac', + 'mac11-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64', + 'mac12': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac', + 'mac12-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64', + 'mac13': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac', + 'mac13-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64', + 'mac14': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac', + 'mac14-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64', + 'mac15': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac', + 'mac15-arm64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac-arm64', + 'win64': 'builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-win64', }, 'firefox': { '': undefined, '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', - 'ubuntu24.04-x64': 'builds/firefox/%s/firefox-ubuntu-24.04.zip', + 'ubuntu20.04-x64': 'builds/firefox/%s/firefox-ubuntu-20.04', + 'ubuntu22.04-x64': 'builds/firefox/%s/firefox-ubuntu-22.04', + 'ubuntu24.04-x64': 'builds/firefox/%s/firefox-ubuntu-24.04', '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', - 'ubuntu24.04-arm64': 'builds/firefox/%s/firefox-ubuntu-24.04-arm64.zip', - 'debian11-x64': 'builds/firefox/%s/firefox-debian-11.zip', - 'debian11-arm64': 'builds/firefox/%s/firefox-debian-11-arm64.zip', - 'debian12-x64': 'builds/firefox/%s/firefox-debian-12.zip', - 'debian12-arm64': 'builds/firefox/%s/firefox-debian-12-arm64.zip', - 'mac10.13': 'builds/firefox/%s/firefox-mac.zip', - 'mac10.14': 'builds/firefox/%s/firefox-mac.zip', - 'mac10.15': 'builds/firefox/%s/firefox-mac.zip', - 'mac11': 'builds/firefox/%s/firefox-mac.zip', - 'mac11-arm64': 'builds/firefox/%s/firefox-mac-arm64.zip', - 'mac12': 'builds/firefox/%s/firefox-mac.zip', - 'mac12-arm64': 'builds/firefox/%s/firefox-mac-arm64.zip', - 'mac13': 'builds/firefox/%s/firefox-mac.zip', - 'mac13-arm64': 'builds/firefox/%s/firefox-mac-arm64.zip', - 'mac14': 'builds/firefox/%s/firefox-mac.zip', - 'mac14-arm64': 'builds/firefox/%s/firefox-mac-arm64.zip', - 'mac15': 'builds/firefox/%s/firefox-mac.zip', - 'mac15-arm64': 'builds/firefox/%s/firefox-mac-arm64.zip', - 'win64': 'builds/firefox/%s/firefox-win64.zip', + 'ubuntu20.04-arm64': 'builds/firefox/%s/firefox-ubuntu-20.04-arm64', + 'ubuntu22.04-arm64': 'builds/firefox/%s/firefox-ubuntu-22.04-arm64', + 'ubuntu24.04-arm64': 'builds/firefox/%s/firefox-ubuntu-24.04-arm64', + 'debian11-x64': 'builds/firefox/%s/firefox-debian-11', + 'debian11-arm64': 'builds/firefox/%s/firefox-debian-11-arm64', + 'debian12-x64': 'builds/firefox/%s/firefox-debian-12', + 'debian12-arm64': 'builds/firefox/%s/firefox-debian-12-arm64', + 'mac10.13': 'builds/firefox/%s/firefox-mac', + 'mac10.14': 'builds/firefox/%s/firefox-mac', + 'mac10.15': 'builds/firefox/%s/firefox-mac', + 'mac11': 'builds/firefox/%s/firefox-mac', + 'mac11-arm64': 'builds/firefox/%s/firefox-mac-arm64', + 'mac12': 'builds/firefox/%s/firefox-mac', + 'mac12-arm64': 'builds/firefox/%s/firefox-mac-arm64', + 'mac13': 'builds/firefox/%s/firefox-mac', + 'mac13-arm64': 'builds/firefox/%s/firefox-mac-arm64', + 'mac14': 'builds/firefox/%s/firefox-mac', + 'mac14-arm64': 'builds/firefox/%s/firefox-mac-arm64', + 'mac15': 'builds/firefox/%s/firefox-mac', + 'mac15-arm64': 'builds/firefox/%s/firefox-mac-arm64', + 'win64': 'builds/firefox/%s/firefox-win64', }, 'firefox-beta': { '': undefined, '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', - 'ubuntu24.04-x64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-24.04.zip', + 'ubuntu20.04-x64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-20.04', + 'ubuntu22.04-x64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-22.04', + 'ubuntu24.04-x64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-24.04', 'ubuntu18.04-arm64': undefined, 'ubuntu20.04-arm64': undefined, - 'ubuntu22.04-arm64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-22.04-arm64.zip', - 'ubuntu24.04-arm64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-24.04-arm64.zip', - 'debian11-x64': 'builds/firefox-beta/%s/firefox-beta-debian-11.zip', - 'debian11-arm64': 'builds/firefox-beta/%s/firefox-beta-debian-11-arm64.zip', - 'debian12-x64': 'builds/firefox-beta/%s/firefox-beta-debian-12.zip', - 'debian12-arm64': 'builds/firefox-beta/%s/firefox-beta-debian-12-arm64.zip', - 'mac10.13': 'builds/firefox-beta/%s/firefox-beta-mac.zip', - 'mac10.14': 'builds/firefox-beta/%s/firefox-beta-mac.zip', - 'mac10.15': 'builds/firefox-beta/%s/firefox-beta-mac.zip', - 'mac11': 'builds/firefox-beta/%s/firefox-beta-mac.zip', - 'mac11-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-arm64.zip', - 'mac12': 'builds/firefox-beta/%s/firefox-beta-mac.zip', - 'mac12-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-arm64.zip', - 'mac13': 'builds/firefox-beta/%s/firefox-beta-mac.zip', - 'mac13-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-arm64.zip', - 'mac14': 'builds/firefox-beta/%s/firefox-beta-mac.zip', - 'mac14-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-arm64.zip', - 'mac15': 'builds/firefox-beta/%s/firefox-beta-mac.zip', - 'mac15-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-arm64.zip', - 'win64': 'builds/firefox-beta/%s/firefox-beta-win64.zip', + 'ubuntu22.04-arm64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-22.04-arm64', + 'ubuntu24.04-arm64': 'builds/firefox-beta/%s/firefox-beta-ubuntu-24.04-arm64', + 'debian11-x64': 'builds/firefox-beta/%s/firefox-beta-debian-11', + 'debian11-arm64': 'builds/firefox-beta/%s/firefox-beta-debian-11-arm64', + 'debian12-x64': 'builds/firefox-beta/%s/firefox-beta-debian-12', + 'debian12-arm64': 'builds/firefox-beta/%s/firefox-beta-debian-12-arm64', + 'mac10.13': 'builds/firefox-beta/%s/firefox-beta-mac', + 'mac10.14': 'builds/firefox-beta/%s/firefox-beta-mac', + 'mac10.15': 'builds/firefox-beta/%s/firefox-beta-mac', + 'mac11': 'builds/firefox-beta/%s/firefox-beta-mac', + 'mac11-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-arm64', + 'mac12': 'builds/firefox-beta/%s/firefox-beta-mac', + 'mac12-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-arm64', + 'mac13': 'builds/firefox-beta/%s/firefox-beta-mac', + 'mac13-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-arm64', + 'mac14': 'builds/firefox-beta/%s/firefox-beta-mac', + 'mac14-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-arm64', + 'mac15': 'builds/firefox-beta/%s/firefox-beta-mac', + 'mac15-arm64': 'builds/firefox-beta/%s/firefox-beta-mac-arm64', + 'win64': 'builds/firefox-beta/%s/firefox-beta-win64', }, 'webkit': { '': undefined, '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', - 'ubuntu24.04-x64': 'builds/webkit/%s/webkit-ubuntu-24.04.zip', + 'ubuntu20.04-x64': 'builds/webkit/%s/webkit-ubuntu-20.04', + 'ubuntu22.04-x64': 'builds/webkit/%s/webkit-ubuntu-22.04', + 'ubuntu24.04-x64': 'builds/webkit/%s/webkit-ubuntu-24.04', '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', - 'ubuntu24.04-arm64': 'builds/webkit/%s/webkit-ubuntu-24.04-arm64.zip', - 'debian11-x64': 'builds/webkit/%s/webkit-debian-11.zip', - 'debian11-arm64': 'builds/webkit/%s/webkit-debian-11-arm64.zip', - 'debian12-x64': 'builds/webkit/%s/webkit-debian-12.zip', - 'debian12-arm64': 'builds/webkit/%s/webkit-debian-12-arm64.zip', + 'ubuntu20.04-arm64': 'builds/webkit/%s/webkit-ubuntu-20.04-arm64', + 'ubuntu22.04-arm64': 'builds/webkit/%s/webkit-ubuntu-22.04-arm64', + 'ubuntu24.04-arm64': 'builds/webkit/%s/webkit-ubuntu-24.04-arm64', + 'debian11-x64': 'builds/webkit/%s/webkit-debian-11', + 'debian11-arm64': 'builds/webkit/%s/webkit-debian-11-arm64', + 'debian12-x64': 'builds/webkit/%s/webkit-debian-12', + 'debian12-arm64': 'builds/webkit/%s/webkit-debian-12-arm64', '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', - 'mac11': 'builds/webkit/%s/webkit-mac-11.zip', - 'mac11-arm64': 'builds/webkit/%s/webkit-mac-11-arm64.zip', - 'mac12': 'builds/webkit/%s/webkit-mac-12.zip', - 'mac12-arm64': 'builds/webkit/%s/webkit-mac-12-arm64.zip', - 'mac13': 'builds/webkit/%s/webkit-mac-13.zip', - 'mac13-arm64': 'builds/webkit/%s/webkit-mac-13-arm64.zip', - 'mac14': 'builds/webkit/%s/webkit-mac-14.zip', - 'mac14-arm64': 'builds/webkit/%s/webkit-mac-14-arm64.zip', - 'mac15': 'builds/webkit/%s/webkit-mac-15.zip', - 'mac15-arm64': 'builds/webkit/%s/webkit-mac-15-arm64.zip', - 'win64': 'builds/webkit/%s/webkit-win64.zip', + 'mac10.14': 'builds/deprecated-webkit-mac-10.14/%s/deprecated-webkit-mac-10.14', + 'mac10.15': 'builds/deprecated-webkit-mac-10.15/%s/deprecated-webkit-mac-10.15', + 'mac11': 'builds/webkit/%s/webkit-mac-11', + 'mac11-arm64': 'builds/webkit/%s/webkit-mac-11-arm64', + 'mac12': 'builds/webkit/%s/webkit-mac-12', + 'mac12-arm64': 'builds/webkit/%s/webkit-mac-12-arm64', + 'mac13': 'builds/webkit/%s/webkit-mac-13', + 'mac13-arm64': 'builds/webkit/%s/webkit-mac-13-arm64', + 'mac14': 'builds/webkit/%s/webkit-mac-14', + 'mac14-arm64': 'builds/webkit/%s/webkit-mac-14-arm64', + 'mac15': 'builds/webkit/%s/webkit-mac-15', + 'mac15-arm64': 'builds/webkit/%s/webkit-mac-15-arm64', + 'win64': 'builds/webkit/%s/webkit-win64', }, 'ffmpeg': { '': undefined, 'ubuntu18.04-x64': undefined, - 'ubuntu20.04-x64': 'builds/ffmpeg/%s/ffmpeg-linux.zip', - 'ubuntu22.04-x64': 'builds/ffmpeg/%s/ffmpeg-linux.zip', - 'ubuntu24.04-x64': 'builds/ffmpeg/%s/ffmpeg-linux.zip', + 'ubuntu20.04-x64': 'builds/ffmpeg/%s/ffmpeg-linux', + 'ubuntu22.04-x64': 'builds/ffmpeg/%s/ffmpeg-linux', + 'ubuntu24.04-x64': 'builds/ffmpeg/%s/ffmpeg-linux', 'ubuntu18.04-arm64': undefined, - 'ubuntu20.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', - 'ubuntu22.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', - 'ubuntu24.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', - 'debian11-x64': 'builds/ffmpeg/%s/ffmpeg-linux.zip', - 'debian11-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64.zip', - 'debian12-x64': 'builds/ffmpeg/%s/ffmpeg-linux.zip', - 'debian12-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', - 'mac11': 'builds/ffmpeg/%s/ffmpeg-mac.zip', - 'mac11-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64.zip', - 'mac12': 'builds/ffmpeg/%s/ffmpeg-mac.zip', - 'mac12-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64.zip', - 'mac13': 'builds/ffmpeg/%s/ffmpeg-mac.zip', - 'mac13-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64.zip', - 'mac14': 'builds/ffmpeg/%s/ffmpeg-mac.zip', - 'mac14-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64.zip', - 'mac15': 'builds/ffmpeg/%s/ffmpeg-mac.zip', - 'mac15-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64.zip', - 'win64': 'builds/ffmpeg/%s/ffmpeg-win64.zip', + 'ubuntu20.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64', + 'ubuntu22.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64', + 'ubuntu24.04-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64', + 'debian11-x64': 'builds/ffmpeg/%s/ffmpeg-linux', + 'debian11-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64', + 'debian12-x64': 'builds/ffmpeg/%s/ffmpeg-linux', + 'debian12-arm64': 'builds/ffmpeg/%s/ffmpeg-linux-arm64', + 'mac10.13': 'builds/ffmpeg/%s/ffmpeg-mac', + 'mac10.14': 'builds/ffmpeg/%s/ffmpeg-mac', + 'mac10.15': 'builds/ffmpeg/%s/ffmpeg-mac', + 'mac11': 'builds/ffmpeg/%s/ffmpeg-mac', + 'mac11-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64', + 'mac12': 'builds/ffmpeg/%s/ffmpeg-mac', + 'mac12-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64', + 'mac13': 'builds/ffmpeg/%s/ffmpeg-mac', + 'mac13-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64', + 'mac14': 'builds/ffmpeg/%s/ffmpeg-mac', + 'mac14-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64', + 'mac15': 'builds/ffmpeg/%s/ffmpeg-mac', + 'mac15-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64', + 'win64': 'builds/ffmpeg/%s/ffmpeg-win64', }, 'android': { - '': 'builds/android/%s/android.zip', + '': 'builds/android/%s/android', 'ubuntu18.04-x64': undefined, - 'ubuntu20.04-x64': 'builds/android/%s/android.zip', - 'ubuntu22.04-x64': 'builds/android/%s/android.zip', - 'ubuntu24.04-x64': 'builds/android/%s/android.zip', + 'ubuntu20.04-x64': 'builds/android/%s/android', + 'ubuntu22.04-x64': 'builds/android/%s/android', + 'ubuntu24.04-x64': 'builds/android/%s/android', 'ubuntu18.04-arm64': undefined, - 'ubuntu20.04-arm64': 'builds/android/%s/android.zip', - 'ubuntu22.04-arm64': 'builds/android/%s/android.zip', - 'ubuntu24.04-arm64': 'builds/android/%s/android.zip', - 'debian11-x64': 'builds/android/%s/android.zip', - 'debian11-arm64': 'builds/android/%s/android.zip', - 'debian12-x64': 'builds/android/%s/android.zip', - 'debian12-arm64': 'builds/android/%s/android.zip', - 'mac10.13': 'builds/android/%s/android.zip', - 'mac10.14': 'builds/android/%s/android.zip', - 'mac10.15': 'builds/android/%s/android.zip', - 'mac11': 'builds/android/%s/android.zip', - 'mac11-arm64': 'builds/android/%s/android.zip', - 'mac12': 'builds/android/%s/android.zip', - 'mac12-arm64': 'builds/android/%s/android.zip', - 'mac13': 'builds/android/%s/android.zip', - 'mac13-arm64': 'builds/android/%s/android.zip', - 'mac14': 'builds/android/%s/android.zip', - 'mac14-arm64': 'builds/android/%s/android.zip', - 'mac15': 'builds/android/%s/android.zip', - 'mac15-arm64': 'builds/android/%s/android.zip', - 'win64': 'builds/android/%s/android.zip', + 'ubuntu20.04-arm64': 'builds/android/%s/android', + 'ubuntu22.04-arm64': 'builds/android/%s/android', + 'ubuntu24.04-arm64': 'builds/android/%s/android', + 'debian11-x64': 'builds/android/%s/android', + 'debian11-arm64': 'builds/android/%s/android', + 'debian12-x64': 'builds/android/%s/android', + 'debian12-arm64': 'builds/android/%s/android', + 'mac10.13': 'builds/android/%s/android', + 'mac10.14': 'builds/android/%s/android', + 'mac10.15': 'builds/android/%s/android', + 'mac11': 'builds/android/%s/android', + 'mac11-arm64': 'builds/android/%s/android', + 'mac12': 'builds/android/%s/android', + 'mac12-arm64': 'builds/android/%s/android', + 'mac13': 'builds/android/%s/android', + 'mac13-arm64': 'builds/android/%s/android', + 'mac14': 'builds/android/%s/android', + 'mac14-arm64': 'builds/android/%s/android', + 'mac15': 'builds/android/%s/android', + 'mac15-arm64': 'builds/android/%s/android', + 'win64': 'builds/android/%s/android', }, // TODO(bidi): implement downloads. 'bidi': { @@ -1043,7 +1049,7 @@ export class Registry { const downloadPathTemplate: string|undefined = paths[hostPlatform] || paths['']; if (!downloadPathTemplate) return []; - const downloadPath = util.format(downloadPathTemplate, descriptor.revision); + const downloadPath = util.format(downloadPathTemplate, descriptor.revision) + ARCHIVE; let downloadURLs = PLAYWRIGHT_CDN_MIRRORS.map(mirror => `${mirror}/${downloadPath}`) ; let downloadHostEnv;