Skip to content

fix: migrate playwright-go to mxschmitt/playwright-go v0.6100.0 (CDN shutdown)#81

Merged
kdacosta0 merged 2 commits into
mainfrom
fix/playwright-cdn-deprecation-main
Jul 8, 2026
Merged

fix: migrate playwright-go to mxschmitt/playwright-go v0.6100.0 (CDN shutdown)#81
kdacosta0 merged 2 commits into
mainfrom
fix/playwright-cdn-deprecation-main

Conversation

@kdacosta0

@kdacosta0 kdacosta0 commented Jul 8, 2026

Copy link
Copy Markdown
Member

Summary

  • Migrate playwright-community/playwright-gomxschmitt/playwright-go
  • The Playwright /builds/driver CDN (azureedge) has been shut down — playwright install fails with 404
  • The module moved to mxschmitt/playwright-go which downloads the driver from npm + nodejs.org instead (PR #615)

Related

🤖 Generated with Claude Code

The playwright-community/playwright-go CDN has been shut down.
The module moved to mxschmitt/playwright-go which downloads the
driver from npm + nodejs.org instead.

Refs: SECURESIGN-4984

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@qodo-for-securesign

Copy link
Copy Markdown

PR Summary by Qodo

Fix Playwright installs by migrating to mxschmitt/playwright-go v0.6100.0

🐞 Bug fix ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Migrate Playwright Go module to mxschmitt fork to avoid the deprecated CDN.
• Update CI and local setup commands to use the new Playwright installer path.
• Adjust e2e test imports to the new module to keep builds and tests passing.
Diagram

graph TD
  A[".github/workflows/e2e.yml"] --> B["Playwright install cmd"] --> F["mxschmitt/playwright-go"] --> X{{"npm + nodejs.org"}}
  C["scripts/Makefile setup"] --> B
  D["e2e Playwright tests"] --> E["go.mod/go.sum"] --> F
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Pin a custom Playwright download host (env var / mirror)
  • ➕ Avoids changing Go module import paths
  • ➕ Can be applied as a CI-only workaround
  • ➖ Still relies on the old module’s behavior and future compatibility
  • ➖ Requires maintaining a mirror/host and keeping it updated
2. Pre-bake Playwright browsers/driver into the CI image
  • ➕ Eliminates network dependency during CI runs
  • ➕ Can speed up e2e jobs by caching artifacts
  • ➖ More infrastructure work (image build/publish)
  • ➖ Still needs a maintained install strategy for local developer workflows

Recommendation: Proceed with the module migration: it directly addresses the CDN shutdown by switching to the maintained fork that downloads from npm/nodejs.org, fixes both CI and local setup, and minimizes ongoing operational burden compared to maintaining mirrors or custom images.

Files changed (5) +6 / -6

Bug fix (1) +1 / -1
rekor_search_sign_verify_test.goUpdate Playwright Go import path for e2e tests +1/-1

Update Playwright Go import path for e2e tests

• Replaces the Playwright import from 'playwright-community' to 'mxschmitt' so the e2e test suite builds against the migrated dependency.

test/rekorsearchui/rekor_search_sign_verify_test.go

Other (4) +5 / -5
e2e.ymlUse mxschmitt Playwright installer in e2e workflow +1/-1

Use mxschmitt Playwright installer in e2e workflow

• Switches the GitHub Actions e2e job from 'playwright-community/playwright-go' to 'mxschmitt/playwright-go' for 'playwright install --with-deps', preventing failures caused by the deprecated driver CDN.

.github/workflows/e2e.yml

go.modReplace playwright-community module with mxschmitt v0.6100.0 +1/-1

Replace playwright-community module with mxschmitt v0.6100.0

• Updates module dependencies to require 'github.com/mxschmitt/playwright-go v0.6100.0' and removes the 'playwright-community' module to restore working Playwright installs.

go.mod

go.sumRefresh sums for mxschmitt Playwright module +2/-2

Refresh sums for mxschmitt Playwright module

• Adds checksums for 'github.com/mxschmitt/playwright-go v0.6100.0' and removes the old 'playwright-community' checksums to match the updated module graph.

go.sum

MakefileUpdate local Playwright install command to mxschmitt fork +1/-1

Update local Playwright install command to mxschmitt fork

• Changes the 'setup' target to run the installer from 'github.com/mxschmitt/playwright-go/cmd/playwright' to keep local developer setup aligned with CI.

scripts/Makefile

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@qodo-for-securesign

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (0)

Context used
⚠️ Tickets: not configured — ticket URL found in PR but could not be fetched — check ticket provider credentials

Grey Divider


Remediation recommended

1. Setup omits OS deps 🐞 Bug ☼ Reliability
Description
scripts/Makefile's setup target runs playwright install without --with-deps, so required
Linux system libraries may not be installed and browsers can fail to launch during local runs. CI
uses install --with-deps, making local setup inconsistent with the supported E2E environment.
Code

scripts/Makefile[42]

+	@go run github.com/mxschmitt/playwright-go/cmd/playwright install
Evidence
The Makefile’s setup target installs Playwright without OS dependencies, while the CI E2E job
explicitly installs with --with-deps, indicating at least one supported environment requires those
packages for browser startup.

scripts/Makefile[40-43]
.github/workflows/e2e.yml[116-136]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`scripts/Makefile`'s `setup` target calls Playwright install without `--with-deps`, but the CI workflow uses `--with-deps`. This can cause local runs (especially on clean Linux hosts) to fail to start browsers due to missing system libraries.

## Issue Context
CI E2E uses `go run ... install --with-deps`, while `make setup` uses `install` only.

## Fix Focus Areas
- scripts/Makefile[40-43]

## Suggested change
- Update `setup` to run:
 - `go run github.com/mxschmitt/playwright-go/cmd/playwright install --with-deps`
- If cross-platform support is required, gate `--with-deps` to Linux (or document OS prerequisites and rename the echo message to reflect what is actually installed).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

@kdacosta0
kdacosta0 merged commit 5563366 into main Jul 8, 2026
6 of 7 checks passed
@kdacosta0
kdacosta0 deleted the fix/playwright-cdn-deprecation-main branch July 8, 2026 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants