Skip to content

ci(e2e): drop unused WebKit from Playwright install#132

Merged
PAMulligan merged 2 commits into
mainfrom
ci/e2e-drop-unused-webkit
Jun 18, 2026
Merged

ci(e2e): drop unused WebKit from Playwright install#132
PAMulligan merged 2 commits into
mainfrom
ci/e2e-drop-unused-webkit

Conversation

@PAMulligan

Copy link
Copy Markdown
Contributor

What

Install only Chromium for Playwright E2E in e2e.yml; drop webkit from both install commands and from the browser-cache key.

Why

The E2E job for main @ 028f15c (run 27790385490) failed with the misleading Error: The operation was canceled. That was not a manual/concurrency cancellation — the job hit timeout-minutes: 20:

  • Job started 21:27:40; Install Playwright system deps started 21:28:02 and was killed at 21:47:53 (~20 min).
  • The step (playwright install-deps chromium webkit) stalled mid apt-download (log ends at libavcodec60) pulling WebKit's ~181-package / 114 MB gstreamer+ffmpeg system-dependency stack from a slow Ubuntu mirror.

WebKit is never used. widget/playwright.config.ts defines only chromium-desktop and chromium-mobile — both Chromium. webkit appeared only in the two e2e.yml install lines, so the heavy, flaky install was pure waste.

Effect

  • Removes the failure mode (no more 114 MB WebKit apt install on every run).
  • Faster E2E runs.
  • Zero test-coverage change — WebKit was never launched.
  • Cache key renamed playwright-chromium-webkit-*playwright-chromium-* to evict the now-stale WebKit browser binaries.

Note

The chromium-mobile project uses the iPhone 13 device descriptor on the Chromium engine (not Safari/WebKit). If real iOS-Safari/cross-browser coverage is wanted later, that's a deliberate follow-up: add a webkit project to the config and harden the deps install (Playwright container image or per-step timeout + retry).

🤖 Generated with Claude Code

The Playwright config only defines Chromium projects (chromium-desktop,
chromium-mobile), so WebKit was installed in CI but never launched by any
test. Installing it pulled WebKit's ~181-package / 114 MB gstreamer+ffmpeg
system-dependency stack from the Ubuntu archive on every run.

On run 27790385490 (main @ 028f15c) that apt download stalled on a slow
mirror and ran ~20 min until the job hit timeout-minutes: 20, surfacing as
the misleading "Error: The operation was canceled."

Install Chromium only. Removes the flaky/heavy install, speeds up every run,
and loses zero coverage since WebKit was never tested. Cache key updated to
drop the stale chromium-webkit binaries.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@PAMulligan PAMulligan self-assigned this Jun 18, 2026
@PAMulligan PAMulligan added the backend Cloudflare Workers API and AI integration label Jun 18, 2026
@PAMulligan PAMulligan moved this from Todo to Done in PMDS Open Source Roadmap Jun 18, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 18, 2026

Copy link
Copy Markdown

Deploying chat-widget with  Cloudflare Pages  Cloudflare Pages

Latest commit: 935ca7a
Status: ✅  Deploy successful!
Preview URL: https://5dd5f72d.chat-widget-ejc.pages.dev
Branch Preview URL: https://ci-e2e-drop-unused-webkit.chat-widget-ejc.pages.dev

View logs

@PAMulligan PAMulligan merged commit 2144690 into main Jun 18, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Cloudflare Workers API and AI integration

Projects

Development

Successfully merging this pull request may close these issues.

1 participant