make URL extension configurable

This commit is contained in:
Simon Knott 2024-11-29 11:39:53 +01:00
parent 3c08bd3cab
commit 7eaf37d71d
No known key found for this signature in database
GPG key ID: 8CEDC00028084AEC

View file

@ -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<BrowserName | InternalTool, DownloadPaths> = {
'chromium': {
'<unknown>': 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': {
'<unknown>': 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': {
'<unknown>': 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': {
'<unknown>': 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': {
'<unknown>': 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': {
'<unknown>': 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': {
'<unknown>': 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': {
'<unknown>': 'builds/android/%s/android.zip',
'<unknown>': '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['<unknown>'];
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;