Problem
Playwright 1.57+ switched from Chromium to Chrome for Testing builds. The download URLs changed from:
https://playwright.azureedge.net/builds/chromium/{revision}/chromium-linux.zip
to:
https://cdn.playwright.dev/builds/cft/{browserVersion}/linux64/chrome-linux64.zip
The download_paths.json in rules_playwright (v0.5.4) still uses the old builds/chromium/%s/ pattern. Attempting to use Playwright >= 1.57 with rules_playwright results in 404 errors when Bazel tries to fetch browser binaries:
Error downloading [.../builds/chromium/1208/chromium-linux.zip]:
GET returned 404 The specified blob does not exist.
Expected behavior
rules_playwright should support the new CfT download URL format used by Playwright >= 1.57.
Reference
In playwright-core 1.58.2, the download paths are constructed via a cftUrl() helper:
function cftUrl(suffix) {
return ({ browserVersion }) => ({
path: `builds/cft/${browserVersion}/${suffix}`,
mirrors: ["https://cdn.playwright.dev"]
});
}
// Example entries:
"ubuntu24.04-x64": cftUrl("linux64/chrome-linux64.zip"),
"mac15-arm64": cftUrl("mac-arm64/chrome-mac-arm64.zip"),
Note: ARM64 Linux still uses the old pattern (builds/chromium/%s/chromium-linux-arm64.zip).
Playwright release notes
Problem
Playwright 1.57+ switched from Chromium to Chrome for Testing builds. The download URLs changed from:
to:
The
download_paths.jsonin rules_playwright (v0.5.4) still uses the oldbuilds/chromium/%s/pattern. Attempting to use Playwright >= 1.57 with rules_playwright results in 404 errors when Bazel tries to fetch browser binaries:Expected behavior
rules_playwright should support the new CfT download URL format used by Playwright >= 1.57.
Reference
In
playwright-core1.58.2, the download paths are constructed via acftUrl()helper:Note: ARM64 Linux still uses the old pattern (
builds/chromium/%s/chromium-linux-arm64.zip).Playwright release notes