Skip to content

ci: run browser tests on ubuntu-24.04 with one Patchright version - #622

Open
tnunamak wants to merge 6 commits into
mainfrom
ci/pin-runner-and-install-browser
Open

tnunamak wants to merge 6 commits into
mainfrom
ci/pin-runner-and-install-browser

Conversation

@tnunamak

@tnunamak tnunamak commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

The version check fails CI when patchright, patchright-core and playwright-core differ between the root, pdpp-runtime and playwright-runner locks. The old ignore: blocked every Dependabot bump of them.

  • .github/dependabot.yml: removes ignore:, covers all three folders, and keeps the browser packages in one group out of the generic npm group. Dependabot documents one pull request across directories only under group-by: dependency-name, which opens one per package name.
  • .github/workflows/browser-stack-bump.yml (weekly): bumps the three folders with scripts/bump-browser-stack.mjs, regenerates the locks, runs scripts/check-patchright-version.mjs, then scripts/open-browser-stack-pr.sh opens one pull request, or skips if last week's branch is still on origin. A GITHUB_TOKEN pull request needs a close and reopen to start checks.
  • Known limit: the vendored @pdpp/polyfill-connectors tarball pins patchright 1.63.0 exactly, so a bump fails the check until an override is added. The upgrade is a separate pull request.
    Assisted-by: AI

@tnunamak
tnunamak force-pushed the ci/pin-runner-and-install-browser branch from 42c0f13 to dce5b77 Compare November 6, 2026 03:54
@tnunamak tnunamak changed the title ci: pin browser-test runner to ubuntu-24.04 and install Chromium explicitly ci: run browser tests on Google Chrome stable on ubuntu-latest Nov 6, 2026
@tnunamak
tnunamak force-pushed the ci/pin-runner-and-install-browser branch from ea3ebf8 to 27e278c Compare November 6, 2026 15:45
@tnunamak tnunamak changed the title ci: run browser tests on Google Chrome stable on ubuntu-latest ci: run browser tests on ubuntu-24.04 with Patchright's Chromium Nov 6, 2026
The root and the reference implementation pinned patchright 1.64.1. The
vendored @pdpp/polyfill-connectors tarball pins 1.63.0 exactly, so npm
nested a second copy, and the browser tests launched that copy. The
desktop runtime (pdpp-runtime) resolves 1.63.0, and the desktop release
bundles Chromium from playwright-runner's Playwright 1.63.0.

So CI ran one Patchright, the Docker image installed another, and
`npx patchright install` fetched browsers for neither the tests nor the
desktop. Pin 1.63.0 everywhere, the version the desktop and the vendored
connectors already use. Each version fixes one Chromium revision, so CI,
the Docker image and the desktop now launch the same browser.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
ubuntu-latest now resolves to 26.04, for which Patchright publishes no
Chromium build, so the browser tests failed with no executable. Pin the
typecheck, shard and postgres jobs to ubuntu-24.04 and install
Patchright's Chromium explicitly. Return to ubuntu-latest once Patchright
publishes a 26.04 build.

scripts/check-patchright-version.mjs fails CI when the root,
pdpp-runtime or playwright-runner lock resolves a different version, so
a partial bump cannot split the tested browser from the shipped one.
Dependabot's root entry cannot bump the other two locks, so it now skips
patchright.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
@tnunamak
tnunamak force-pushed the ci/pin-runner-and-install-browser branch from 27e278c to 557680e Compare November 6, 2026 16:06
@tnunamak tnunamak changed the title ci: run browser tests on ubuntu-24.04 with Patchright's Chromium ci: run browser tests on ubuntu-24.04 with one Patchright version Nov 6, 2026
…lders

The npm entry ignored patchright, so no security or version update reached the
browser that logs in to users' sites. It now covers /, /pdpp-runtime and
/playwright-runner, and a browser group combines each of patchright,
patchright-core, playwright and playwright-core across the three directories.
Dependabot opens one pull request per dependency name, so patchright and
playwright arrive separately; scripts/check-patchright-version.mjs fails each
until both are merged together.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Dependabot documents one pull request across directories only for group-by dependency-name, which splits patchright from playwright. A weekly workflow moves the three folders together and runs the version check before it opens the pull request.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
A still-open pull request from the previous run made the push fail every week. The open-and-push step moves to a script so the guard has a test.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
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.

1 participant