From b7a1cfd7863b70dc7dd19ecc96e41d688aebca91 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Thu, 19 Dec 2024 23:29:21 +0100 Subject: [PATCH] chore: move winldd to CDN (#34078) --- packages/playwright-core/bin/PrintDeps.exe | Bin 275456 -> 0 bytes packages/playwright-core/bin/README.md | 2 - packages/playwright-core/browsers.json | 5 ++ packages/playwright-core/src/cli/program.ts | 3 + .../src/server/registry/dependencies.ts | 10 ++-- .../src/server/registry/index.ts | 56 +++++++++++++++++- tests/installation/npmTest.ts | 8 +-- tests/installation/playwright-cdn.spec.ts | 6 +- ...playwright-cli-install-should-work.spec.ts | 12 ++-- ...aywright-packages-install-behavior.spec.ts | 22 +++---- .../playwright-test-plugin.spec.ts | 1 - 11 files changed, 94 insertions(+), 31 deletions(-) delete mode 100644 packages/playwright-core/bin/PrintDeps.exe delete mode 100644 packages/playwright-core/bin/README.md diff --git a/packages/playwright-core/bin/PrintDeps.exe b/packages/playwright-core/bin/PrintDeps.exe deleted file mode 100644 index eb8ddf4d7b508ace4c40bd551fd821a05b92574f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275456 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 diff --git a/packages/playwright-core/bin/README.md b/packages/playwright-core/bin/README.md deleted file mode 100644 index 2426643de541c..0000000000000 --- a/packages/playwright-core/bin/README.md +++ /dev/null @@ -1,2 +0,0 @@ -See building instructions at [`/browser_patches/winldd/README.md`](../../../browser_patches/winldd/README.md) - diff --git a/packages/playwright-core/browsers.json b/packages/playwright-core/browsers.json index 0b673fef089e8..a163c7a607505 100644 --- a/packages/playwright-core/browsers.json +++ b/packages/playwright-core/browsers.json @@ -52,6 +52,11 @@ "mac12-arm64": "1010" } }, + { + "name": "winldd", + "revision": "1007", + "installByDefault": false + }, { "name": "android", "revision": "1001", diff --git a/packages/playwright-core/src/cli/program.ts b/packages/playwright-core/src/cli/program.ts index 7ce1c4f9287c0..5cd941d5d42ed 100644 --- a/packages/playwright-core/src/cli/program.ts +++ b/packages/playwright-core/src/cli/program.ts @@ -116,6 +116,9 @@ function checkBrowsersToInstall(args: string[], options: { noShell?: boolean, on } } + if (process.platform === 'win32') + executables.push(registry.findExecutable('winldd')!); + if (faultyArguments.length) throw new Error(`Invalid installation targets: ${faultyArguments.map(name => `'${name}'`).join(', ')}. Expecting one of: ${suggestedBrowsersToInstall()}`); return executables; diff --git a/packages/playwright-core/src/server/registry/dependencies.ts b/packages/playwright-core/src/server/registry/dependencies.ts index 44f56f3d2fbd5..60ef80d846cf0 100644 --- a/packages/playwright-core/src/server/registry/dependencies.ts +++ b/packages/playwright-core/src/server/registry/dependencies.ts @@ -21,7 +21,7 @@ import childProcess from 'child_process'; import * as utils from '../../utils'; import { spawnAsync } from '../../utils/spawnAsync'; import { hostPlatform, isOfficiallySupportedPlatform } from '../../utils/hostPlatform'; -import { buildPlaywrightCLICommand } from '.'; +import { buildPlaywrightCLICommand, registry } from '.'; import { deps } from './nativeDeps'; import { getPlaywrightVersion } from '../../utils/userAgent'; @@ -122,12 +122,12 @@ export async function installDependenciesLinux(targets: Set, dr }); } -export async function validateDependenciesWindows(windowsExeAndDllDirectories: string[]) { +export async function validateDependenciesWindows(sdkLanguage: string, windowsExeAndDllDirectories: string[]) { const directoryPaths = windowsExeAndDllDirectories; const lddPaths: string[] = []; for (const directoryPath of directoryPaths) lddPaths.push(...(await executablesOrSharedLibraries(directoryPath))); - const allMissingDeps = await Promise.all(lddPaths.map(lddPath => missingFileDependenciesWindows(lddPath))); + const allMissingDeps = await Promise.all(lddPaths.map(lddPath => missingFileDependenciesWindows(sdkLanguage, lddPath))); const missingDeps: Set = new Set(); for (const deps of allMissingDeps) { for (const dep of deps) @@ -302,8 +302,8 @@ async function executablesOrSharedLibraries(directoryPath: string): Promise> { - const executable = path.join(__dirname, '..', '..', '..', 'bin', 'PrintDeps.exe'); +async function missingFileDependenciesWindows(sdkLanguage: string, filePath: string): Promise> { + const executable = registry.findExecutable('winldd')!.executablePathOrDie(sdkLanguage); const dirname = path.dirname(filePath); const { stdout, code } = await spawnAsync(executable, [filePath], { cwd: dirname, diff --git a/packages/playwright-core/src/server/registry/index.ts b/packages/playwright-core/src/server/registry/index.ts index f12d5ceb4ca9e..c4d7f2ffbb7cf 100644 --- a/packages/playwright-core/src/server/registry/index.ts +++ b/packages/playwright-core/src/server/registry/index.ts @@ -79,6 +79,11 @@ const EXECUTABLE_PATHS = { 'mac': ['ffmpeg-mac'], 'win': ['ffmpeg-win64.exe'], }, + 'winldd': { + 'linux': undefined, + 'mac': undefined, + 'win': ['PrintDeps.exe'], + }, }; type DownloadPaths = Record; @@ -315,6 +320,35 @@ const DOWNLOAD_PATHS: Record = { 'mac15-arm64': 'builds/ffmpeg/%s/ffmpeg-mac-arm64.zip', 'win64': 'builds/ffmpeg/%s/ffmpeg-win64.zip', }, + 'winldd': { + '': undefined, + 'ubuntu18.04-x64': undefined, + 'ubuntu20.04-x64': undefined, + 'ubuntu22.04-x64': undefined, + 'ubuntu24.04-x64': undefined, + 'ubuntu18.04-arm64': undefined, + 'ubuntu20.04-arm64': undefined, + 'ubuntu22.04-arm64': undefined, + 'ubuntu24.04-arm64': undefined, + 'debian11-x64': undefined, + 'debian11-arm64': undefined, + 'debian12-x64': undefined, + 'debian12-arm64': undefined, + 'mac10.13': undefined, + 'mac10.14': undefined, + 'mac10.15': undefined, + 'mac11': undefined, + 'mac11-arm64': undefined, + 'mac12': undefined, + 'mac12-arm64': undefined, + 'mac13': undefined, + 'mac13-arm64': undefined, + 'mac14': undefined, + 'mac14-arm64': undefined, + 'mac15': undefined, + 'mac15-arm64': undefined, + 'win64': 'builds/winldd/%s/winldd-win64.zip', + }, 'android': { '': 'builds/android/%s/android.zip', 'ubuntu18.04-x64': undefined, @@ -442,7 +476,7 @@ function readDescriptors(browsersJSON: BrowsersJSON): BrowsersJSONDescriptor[] { } export type BrowserName = 'chromium' | 'firefox' | 'webkit' | 'bidi'; -type InternalTool = 'ffmpeg' | 'firefox-beta' | 'chromium-tip-of-tree' | 'chromium-headless-shell' | 'chromium-tip-of-tree-headless-shell' | 'android'; +type InternalTool = 'ffmpeg' | 'winldd' | 'firefox-beta' | 'chromium-tip-of-tree' | 'chromium-headless-shell' | 'chromium-tip-of-tree-headless-shell' | 'android'; type BidiChannel = 'bidi-firefox-stable' | 'bidi-firefox-beta' | 'bidi-firefox-nightly' | 'bidi-chrome-canary' | 'bidi-chrome-stable' | 'bidi-chromium'; type ChromiumChannel = 'chrome' | 'chrome-beta' | 'chrome-dev' | 'chrome-canary' | 'msedge' | 'msedge-beta' | 'msedge-dev' | 'msedge-canary'; const allDownloadable = ['android', 'chromium', 'firefox', 'webkit', 'ffmpeg', 'firefox-beta', 'chromium-tip-of-tree', 'chromium-headless-shell', 'chromium-tip-of-tree-headless-shell']; @@ -772,6 +806,22 @@ export class Registry { _dependencyGroup: 'tools', _isHermeticInstallation: true, }); + const winldd = descriptors.find(d => d.name === 'winldd')!; + const winlddExecutable = findExecutablePath(winldd.dir, 'winldd'); + this._executables.push({ + type: 'tool', + name: 'winldd', + browserName: undefined, + directory: winldd.dir, + executablePath: () => winlddExecutable, + executablePathOrDie: (sdkLanguage: string) => executablePathOrDie('winldd', winlddExecutable, winldd.installByDefault, sdkLanguage), + installType: process.platform === 'win32' ? 'download-by-default' : 'none', + _validateHostRequirements: () => Promise.resolve(), + downloadURLs: this._downloadURLs(winldd), + _install: () => this._downloadExecutable(winldd, winlddExecutable), + _dependencyGroup: 'tools', + _isHermeticInstallation: true, + }); const android = descriptors.find(d => d.name === 'android')!; this._executables.push({ type: 'tool', @@ -944,7 +994,7 @@ export class Registry { if (os.platform() === 'linux') return await validateDependenciesLinux(sdkLanguage, linuxLddDirectories.map(d => path.join(browserDirectory, d)), dlOpenLibraries); if (os.platform() === 'win32' && os.arch() === 'x64') - return await validateDependenciesWindows(windowsExeAndDllDirectories.map(d => path.join(browserDirectory, d))); + return await validateDependenciesWindows(sdkLanguage, windowsExeAndDllDirectories.map(d => path.join(browserDirectory, d))); } async installDeps(executablesToInstallDeps: Executable[], dryRun: boolean) { @@ -1265,6 +1315,8 @@ export async function installBrowsersForNpmInstall(browsers: string[]) { return false; } const executables: Executable[] = []; + if (process.platform === 'win32') + executables.push(registry.findExecutable('winldd')!); for (const browserName of browsers) { const executable = registry.findExecutable(browserName); if (!executable || executable.installType === 'none') diff --git a/tests/installation/npmTest.ts b/tests/installation/npmTest.ts index 4801f967e811b..4e39fb8c982a6 100644 --- a/tests/installation/npmTest.ts +++ b/tests/installation/npmTest.ts @@ -31,22 +31,22 @@ export const TMP_WORKSPACES = path.join(os.platform() === 'darwin' ? '/tmp' : os const debug = debugLogger('itest'); const expect = _expect.extend({ - toHaveLoggedSoftwareDownload(received: any, browsers: ('chromium' | 'chromium-headless-shell' | 'firefox' | 'webkit' | 'ffmpeg')[]) { + toHaveLoggedSoftwareDownload(received: string, browsers: ('chromium' | 'chromium-headless-shell' | 'firefox' | 'webkit' | 'winldd' |'ffmpeg')[]) { if (typeof received !== 'string') throw new Error(`Expected argument to be a string.`); const downloaded = new Set(); let index = 0; while (true) { - const match = received.substring(index).match(/(chromium|chromium headless shell|firefox|webkit|ffmpeg)[\s\d\.]+\(?playwright build v\d+\)? downloaded/im); + const match = received.substring(index).match(/(chromium|chromium headless shell|firefox|webkit|winldd|ffmpeg)[\s\d\.]+\(?playwright build v\d+\)? downloaded/im); if (!match) break; downloaded.add(match[1].replace(/\s/g, '-').toLowerCase()); index += match.index + 1; } - const expected = browsers; - if (expected.length === downloaded.size && expected.every(browser => downloaded.has(browser))) { + const expected = new Set(browsers); + if (expected.size === downloaded.size && [...expected].every(browser => downloaded.has(browser))) { return { pass: true, message: () => 'Expected not to download browsers, but did.' diff --git a/tests/installation/playwright-cdn.spec.ts b/tests/installation/playwright-cdn.spec.ts index 9b7434502573f..776aec42ad1ce 100644 --- a/tests/installation/playwright-cdn.spec.ts +++ b/tests/installation/playwright-cdn.spec.ts @@ -37,12 +37,14 @@ const parsedDownloads = (rawLogs: string) => { test.use({ isolateBrowsers: true }); +const extraInstalledSoftware = process.platform === 'win32' ? ['winldd' as const] : []; + for (const cdn of CDNS) { test(`playwright cdn failover should work (${cdn})`, async ({ exec, checkInstalledSoftwareOnDisk }) => { await exec('npm i playwright'); const result = await exec('npx playwright install', { env: { PW_TEST_CDN_THAT_SHOULD_WORK: cdn, DEBUG: 'pw:install' } }); - expect(result).toHaveLoggedSoftwareDownload(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit']); - await checkInstalledSoftwareOnDisk(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit']); + expect(result).toHaveLoggedSoftwareDownload(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit', ...extraInstalledSoftware]); + await checkInstalledSoftwareOnDisk((['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit', ...extraInstalledSoftware])); const dls = parsedDownloads(result); for (const software of ['chromium', 'ffmpeg', 'firefox', 'webkit']) expect(dls).toContainEqual({ status: 200, name: software, url: expect.stringContaining(cdn) }); diff --git a/tests/installation/playwright-cli-install-should-work.spec.ts b/tests/installation/playwright-cli-install-should-work.spec.ts index 064568f3e21a3..2825a9a44f903 100755 --- a/tests/installation/playwright-cli-install-should-work.spec.ts +++ b/tests/installation/playwright-cli-install-should-work.spec.ts @@ -19,19 +19,21 @@ import path from 'path'; test.use({ isolateBrowsers: true }); +const extraInstalledSoftware = process.platform === 'win32' ? ['winldd' as const] : []; + test('install command should work', async ({ exec, checkInstalledSoftwareOnDisk }) => { await exec('npm i playwright'); await test.step('playwright install chromium', async () => { const result = await exec('npx playwright install chromium'); - expect(result).toHaveLoggedSoftwareDownload(['chromium', 'chromium-headless-shell', 'ffmpeg']); - await checkInstalledSoftwareOnDisk(['chromium', 'chromium-headless-shell', 'ffmpeg']); + expect(result).toHaveLoggedSoftwareDownload(['chromium', 'chromium-headless-shell', 'ffmpeg', ...extraInstalledSoftware]); + await checkInstalledSoftwareOnDisk(['chromium', 'chromium-headless-shell', 'ffmpeg', ...extraInstalledSoftware]); }); await test.step('playwright install', async () => { const result = await exec('npx playwright install'); expect(result).toHaveLoggedSoftwareDownload(['firefox', 'webkit']); - await checkInstalledSoftwareOnDisk(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit']); + await checkInstalledSoftwareOnDisk(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit', ...extraInstalledSoftware]); }); await exec('node sanity.js playwright', { env: { PLAYWRIGHT_BROWSERS_PATH: '0' } }); @@ -51,9 +53,9 @@ test('install command should work', async ({ exec, checkInstalledSoftwareOnDisk test('should be able to remove browsers', async ({ exec, checkInstalledSoftwareOnDisk }) => { await exec('npm i playwright'); await exec('npx playwright install chromium'); - await checkInstalledSoftwareOnDisk(['chromium', 'chromium-headless-shell', 'ffmpeg']); + await checkInstalledSoftwareOnDisk(['chromium', 'chromium-headless-shell', 'ffmpeg', ...extraInstalledSoftware]); await exec('npx playwright uninstall'); - await checkInstalledSoftwareOnDisk([]); + await checkInstalledSoftwareOnDisk([...extraInstalledSoftware]); }); test('should print the right install command without browsers', async ({ exec }) => { diff --git a/tests/installation/playwright-packages-install-behavior.spec.ts b/tests/installation/playwright-packages-install-behavior.spec.ts index 9ace1eaa674ef..2474d889ebb59 100755 --- a/tests/installation/playwright-packages-install-behavior.spec.ts +++ b/tests/installation/playwright-packages-install-behavior.spec.ts @@ -18,12 +18,14 @@ import { test, expect } from './npmTest'; test.use({ isolateBrowsers: true }); +const extraInstalledSoftware = process.platform === 'win32' ? ['winldd' as const] : []; + for (const browser of ['chromium', 'firefox', 'webkit']) { test(`playwright-${browser} should work`, async ({ exec, checkInstalledSoftwareOnDisk }) => { const pkg = `playwright-${browser}`; const result = await exec('npm i --foreground-scripts', pkg); const browserName = pkg.split('-')[1]; - const expectedSoftware = [browserName]; + const expectedSoftware = [browserName, ...extraInstalledSoftware]; if (browserName === 'chromium') expectedSoftware.push('chromium-headless-shell', 'ffmpeg'); expect(result).toHaveLoggedSoftwareDownload(expectedSoftware as any); @@ -37,7 +39,7 @@ for (const browser of ['chromium', 'firefox', 'webkit']) { for (const browser of ['chromium', 'firefox', 'webkit']) { test(`@playwright/browser-${browser} should work`, async ({ exec, checkInstalledSoftwareOnDisk }) => { const pkg = `@playwright/browser-${browser}`; - const expectedSoftware = [browser]; + const expectedSoftware = [browser, ...extraInstalledSoftware]; if (browser === 'chromium') expectedSoftware.push('chromium-headless-shell', 'ffmpeg'); @@ -69,8 +71,8 @@ test(`playwright should work`, async ({ exec, checkInstalledSoftwareOnDisk }) => await checkInstalledSoftwareOnDisk([]); const result2 = await exec('npx playwright install'); - expect(result2).toHaveLoggedSoftwareDownload(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit']); - await checkInstalledSoftwareOnDisk(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit']); + expect(result2).toHaveLoggedSoftwareDownload(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit', ...extraInstalledSoftware]); + await checkInstalledSoftwareOnDisk(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit', ...extraInstalledSoftware]); await exec('node sanity.js playwright chromium firefox webkit'); await exec('node esm-playwright.mjs'); @@ -81,8 +83,8 @@ test(`playwright should work with chromium --no-shell`, async ({ exec, checkInst expect(result1).toHaveLoggedSoftwareDownload([]); await checkInstalledSoftwareOnDisk([]); const result2 = await exec('npx playwright install chromium --no-shell'); - expect(result2).toHaveLoggedSoftwareDownload(['chromium', 'ffmpeg']); - await checkInstalledSoftwareOnDisk(['chromium', 'ffmpeg']); + expect(result2).toHaveLoggedSoftwareDownload(['chromium', 'ffmpeg', ...extraInstalledSoftware]); + await checkInstalledSoftwareOnDisk(['chromium', 'ffmpeg', ...extraInstalledSoftware]); }); test(`playwright should work with chromium --only-shell`, async ({ exec, checkInstalledSoftwareOnDisk }) => { @@ -90,8 +92,8 @@ test(`playwright should work with chromium --only-shell`, async ({ exec, checkIn expect(result1).toHaveLoggedSoftwareDownload([]); await checkInstalledSoftwareOnDisk([]); const result2 = await exec('npx playwright install --only-shell'); - expect(result2).toHaveLoggedSoftwareDownload(['chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit']); - await checkInstalledSoftwareOnDisk(['chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit']); + expect(result2).toHaveLoggedSoftwareDownload(['chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit', ...extraInstalledSoftware]); + await checkInstalledSoftwareOnDisk(['chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit', ...extraInstalledSoftware]); }); test('@playwright/test should work', async ({ exec, checkInstalledSoftwareOnDisk }) => { @@ -102,8 +104,8 @@ test('@playwright/test should work', async ({ exec, checkInstalledSoftwareOnDisk await exec('npx playwright test -c . sample.spec.js', { expectToExitWithError: true, message: 'should not be able to run tests without installing browsers' }); const result2 = await exec('npx playwright install'); - expect(result2).toHaveLoggedSoftwareDownload(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit']); - await checkInstalledSoftwareOnDisk(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit']); + expect(result2).toHaveLoggedSoftwareDownload(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit', ...extraInstalledSoftware]); + await checkInstalledSoftwareOnDisk(['chromium', 'chromium-headless-shell', 'ffmpeg', 'firefox', 'webkit', ...extraInstalledSoftware]); await exec('node sanity.js @playwright/test chromium firefox webkit'); await exec('node', 'esm-playwright-test.mjs'); diff --git a/tests/installation/playwright-test-plugin.spec.ts b/tests/installation/playwright-test-plugin.spec.ts index 5762b49900bb2..fe4d24cd934b0 100755 --- a/tests/installation/playwright-test-plugin.spec.ts +++ b/tests/installation/playwright-test-plugin.spec.ts @@ -26,7 +26,6 @@ function patchPackageJsonForPreReleaseIfNeeded(tmpWorkspace: string) { // Workaround per https://stackoverflow.com/questions/71479750/npm-install-pre-release-versions-for-peer-dependency. const pkg = JSON.parse(fs.readFileSync(path.resolve(tmpWorkspace, 'package.json'), 'utf-8')); if (pkg.dependencies['@playwright/test'].match(/\d+\.\d+-\w+/)) { - console.log(`Setting overrides in package.json to make pre-release version of peer dependency work.`); pkg.overrides = { '@playwright/test': '$@playwright/test' }; fs.writeFileSync(path.resolve(tmpWorkspace, 'package.json'), JSON.stringify(pkg, null, 2)); }