Node 24.17.1 chrome fix#5292
Draft
backspace wants to merge 13 commits into
Draft
Conversation
puppeteer's postinstall is an unreliable source of the prerender browser: it only downloads Chrome into ~/.cache/puppeteer when it decides the binary is absent, and that decision can silently skip the download, leaving the prerender service to fail at launch with "Could not find Chrome". When that happens, base-realm indexing never completes, the realm readiness check never returns 200, and every host-test shard fails at the "Wait for realms and assert public-read parity" gate before the suite runs. Install the browser explicitly from the puppeteer resolved in the workspace, which pins it to the version puppeteer-core launches at runtime, independent of the postinstall heuristic. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Combine the Node 24.17.0 bump with the explicit prerender Chrome install so CI exercises the bump with the browser reliably provisioned.
Merged
A partial browser folder in the puppeteer cache (versioned directory present, executable missing) makes both puppeteer's postinstall and `browsers install` treat Chrome as already installed and skip the download, so the install step errors with "folder exists but executable missing" and the prerender later can't launch. Remove the cache first so the download actually runs, and install chrome and chrome-headless-shell as separate invocations since `install` accepts a single browser. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cache the puppeteer browser (~/.cache/puppeteer, outside the pnpm store) so the ~150MB Chrome download happens once and is restored across shards and runs instead of re-downloading on every job. Skip puppeteer's postinstall download (PUPPETEER_SKIP_DOWNLOAD) and install the browser explicitly from the resolved puppeteer, which pins it to the version puppeteer-core launches and avoids the postinstall leaving a half-written browser folder that makes later consumers treat Chrome as present and skip it. The cache is saved only on a miss and only when the install succeeded, so a partial download is never persisted. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Preview deploymentsHost Test Results 1 files + 1 1 suites +1 1h 42m 16s ⏱️ + 1h 42m 16s Results for commit 83bcb63. ± Comparison against earlier commit 23b4087. Realm Server Test Results 1 files ±0 1 suites ±0 12m 46s ⏱️ +29s Results for commit 83bcb63. ± Comparison against earlier commit 23b4087. |
puppeteer 24's @puppeteer/browsers depends on extract-zip@2.0.1, which on newer Node silently aborts the Chrome unzip mid-stream without throwing — the install exits 0 with the executable missing, so the prerender can't launch Chrome and realm indexing never completes. puppeteer 25 replaced extract-zip with modern-tar, so the download extracts correctly again (puppeteer/puppeteer#14957). Revert the init-action workaround that pre-provisioned the browser; with the extractor fixed, puppeteer's own install handles it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nder Chrome on Node 24)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.