Skip to content

Windows e2e can hang installing Playwright browsers on cold cache #29944

@kbingol

Description

@kbingol

Description

The Windows e2e job can hang before the tests start when the Playwright browser cache is cold.

In the affected run, the job got through checkout, Node, Bun, and the Playwright cache step. The cache missed, then bunx playwright install chromium downloaded Chromium to 100% and never exited:

Cache not found for input keys: Windows-X64-playwright-1.59.1-chromium
Run bunx playwright install chromium
Downloading Chrome for Testing 147.0.7727.15 (playwright chromium v1217) from https://cdn.playwright.dev/builds/cft/147.0.7727.15/win64/chrome-win64.zip
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■| 100% of 179.4 MiB

The next step, Run app e2e tests, never started. The browser cache was also never saved, so rerunning hit the same cold install path again.

This looks close to the Playwright install/extraction hang fixed after 1.59.1. The current workflow uses Node 24 and @playwright/test 1.59.1. Related upstream reports:

A likely fix is to bump @playwright/test to 1.60.0 or newer. If that is too broad for now, a smaller workaround would be pinning the e2e Node version below the affected Node 24 range and/or adding a timeout to the browser install step so this fails clearly instead of hanging.

Plugins

None

OpenCode version

dev

Steps to reproduce

  1. Run the test workflow on Windows with an empty Playwright browser cache.
  2. Use the current dev dependency/workflow combination: Node 24, @playwright/test 1.59.1, and bunx playwright install chromium.
  3. Observe the Install Playwright browsers step after the Chromium download reaches 100%.

Expected: the install step finishes and Run app e2e tests starts.

Actual: the install step remains active with no more output. In the run I observed, Blacksmith metrics showed CPU, disk, and network activity during the initial download/extract window, then near-zero activity for ~40 minutes while the step stayed active.

Screenshot and/or share link

No opencode share link; this happens in GitHub Actions before app e2e tests start. The relevant log snippet is included above.

Operating System

GitHub Actions Windows runner (blacksmith-4vcpu-windows-2025)

Terminal

GitHub Actions bash on Windows

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions