chromium-bin: source true Chromium on amd64, not Chrome for Testing (inbox#284) - #414
Conversation
…box#284) The amd64 legs shipped Chrome for Testing - a *branded Google Chrome* build governed by the Chrome ToS, which does not permit redistribution - while declaring license_spdx BSD-3-Clause (true only of Chromium). Our public binary cache redistributes, so this was both mislabeled and a ToS problem (gominimal/inbox#284). Bonus drift: amd64 shipped Chrome 150.0.7871.46 while arm64 shipped rev-1217 Chromium (147.0.7727.15) - different browser versions per arch. Playwright itself no longer publishes linux-x64 Chromium (its registry fetches CfT directly for x64; verified against playwright-core 1.58/1.59 registry code - the amd64 zips are gone from cdn.playwright.dev after ~rev 1194), so the fix sources amd64 from Chromium's official snapshot bucket at snapshot_position 1596534 - the main-branch position Chrome 147.0.7727.15 branched from (chromiumdash), i.e. the same code the arm64 build was cut from, minus branch cherry-picks. arm64 legs unchanged. build.sh normalizes the snapshot layouts to what Playwright's x64 registry expects (chrome-linux -> chrome-linux64; headless-shell -> chrome-headless-shell-linux64 + an in-dir chrome-headless-shell symlink to headless_shell), so PLAYWRIGHT_BROWSERS_PATH discovery keeps working on both arches. Layout logic dry-run-verified against the real zips; the amd64 runtime is exercised by this PR's build via the launch_check standalone test. browser_version corrected to 147.0.7727.15 (a downgrade for amd64 from the branded 150, and now truthful + arch-consistent). license_spdx BSD-3-Clause is now accurate on both arches. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 7 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
The snapshot bucket's headless-shell.zip ships only the binary + its .paks; headless_shell FATALs at startup on the missing icudtl.dat (caught by the PR build's launch_check). The CfT and Playwright bundles carry the support set inline; the snapshot build expects it beside the binary. Fetch the full-browser chrome-linux.zip at the SAME snapshot position as an amd64-only second source (arch-conditional array concat) and copy exactly the support members the working Playwright arm64 bundle ships: icudtl.dat, v8_context_snapshot.bin, and the GL/SwiftShader fallback libs. Dry-run verified against the real zips - the final layout now matches the working arm64 reference set file-for-file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The launch_check failure was the snapshot headless-shell.zip shipping only the binary + .paks — no |
…amd64 Second launch_check iteration: with ICU/v8/GL grafted the binary boots (the remaining stderr was benign dbus noise) but --dump-dom emitted nothing. In standalone headless, --dump-dom & friends are implemented by the command handler loaded from headless_command_resources.pak - which NO snapshot artifact ships. The full build rolls those resources into chrome's own resources.pak, which is exactly why chromium-bin's launch_check passes while headless_shell fails silently. Borrow the pak (~3 KB of arch-independent grit resource data, same 7727 branch) from the Playwright arm64 bundle - the arm64 leg's exact artifact, same sha256 pin - as an amd64-only extra source. Primary-zip extraction becomes explicit per arch since the donor zip's name collides with the old glob. Dry-run against the real zips: the amd64 bundle now has file-for-file parity with the working arm64 reference, nothing missing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Round 2: the ICU FATAL is fixed (binary boots; remaining stderr was benign dbus noise) but |
The amd64 legs shipped Chrome for Testing - a branded Google Chrome build
governed by the Chrome ToS, which does not permit redistribution - while
declaring license_spdx BSD-3-Clause (true only of Chromium). Our public
binary cache redistributes, so this was both mislabeled and a ToS problem
(gominimal/inbox#284). Bonus drift: amd64 shipped Chrome 150.0.7871.46 while
arm64 shipped rev-1217 Chromium (147.0.7727.15) - different browser versions
per arch.
Playwright itself no longer publishes linux-x64 Chromium (its registry
fetches CfT directly for x64; verified against playwright-core 1.58/1.59
registry code - the amd64 zips are gone from cdn.playwright.dev after ~rev
1194), so the fix sources amd64 from Chromium's official snapshot bucket at
snapshot_position 1596534 - the main-branch position Chrome 147.0.7727.15
branched from (chromiumdash), i.e. the same code the arm64 build was cut
from, minus branch cherry-picks. arm64 legs unchanged.
build.sh normalizes the snapshot layouts to what Playwright's x64 registry
expects (chrome-linux -> chrome-linux64; headless-shell ->
chrome-headless-shell-linux64 + an in-dir chrome-headless-shell symlink to
headless_shell), so PLAYWRIGHT_BROWSERS_PATH discovery keeps working on both
arches. Layout logic dry-run-verified against the real zips; the amd64
runtime is exercised by this PR's build via the launch_check standalone test.
browser_version corrected to 147.0.7727.15 (a downgrade for amd64 from the
branded 150, and now truthful + arch-consistent). license_spdx BSD-3-Clause
is now accurate on both arches.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com