Add Playwright chromium system dependencies#6
Merged
krlvi merged 1 commit intogitbutlerapp:masterfrom Apr 16, 2026
Merged
Conversation
246a13b to
e9cbda4
Compare
Lets `playwright install` run without `--with-deps` in the gitbutler e2e workflow, which on a cache miss can take 40+ minutes on this image.
e9cbda4 to
872eb46
Compare
mtsgrd
added a commit
to gitbutlerapp/gitbutler
that referenced
this pull request
Apr 16, 2026
Observed in #13336 (job 71622403832): `pnpm exec playwright install --with-deps` took ~43 minutes on a cache miss, dominating the workflow's wall time. The cache-hit fallback step right after it only installs `libnss3`, which pointed at the system-deps portion of `--with-deps` as the slow path rather than the browser binary download itself. Playwright's chromium apt deps are now baked into the ci-base-image (gitbutlerapp/ci-base-image#6), so this PR also bumps the pinned digest and drops `--with-deps` plus the libnss3 fallback. A plain `playwright install` only downloads the browser binary (~1-2 min), which the existing ~/.cache/ms-playwright cache already handles.
This was referenced Apr 16, 2026
mtsgrd
added a commit
to gitbutlerapp/gitbutler
that referenced
this pull request
Apr 16, 2026
Observed in #13336 (job 71622403832): `pnpm exec playwright install --with-deps` took ~43 minutes on a cache miss, dominating the workflow's wall time. The cache-hit fallback step right after it only installs `libnss3`, which pointed at the system-deps portion of `--with-deps` as the slow path rather than the browser binary download itself. Playwright's chromium apt deps are now baked into the ci-base-image (gitbutlerapp/ci-base-image#6), so this PR also bumps the pinned digest and drops `--with-deps` plus the libnss3 fallback. A plain `playwright install` only downloads the browser binary (~1-2 min), which the existing ~/.cache/ms-playwright cache already handles.
mtsgrd
added a commit
to gitbutlerapp/gitbutler
that referenced
this pull request
Apr 17, 2026
Observed in #13336 (job 71622403832): `pnpm exec playwright install --with-deps` took ~43 minutes on a cache miss, dominating the workflow's wall time. The cache-hit fallback step right after it only installs `libnss3`, which pointed at the system-deps portion of `--with-deps` as the slow path rather than the browser binary download itself. Playwright's chromium apt deps are now baked into the ci-base-image (gitbutlerapp/ci-base-image#6), so this PR also bumps the pinned digest and drops `--with-deps` plus the libnss3 fallback. Explicitly requesting only chromium and webkit avoids downloading Firefox, which the e2e suite doesn't use.
mtsgrd
added a commit
to gitbutlerapp/gitbutler
that referenced
this pull request
Apr 17, 2026
Observed in #13336 (job 71622403832): `pnpm exec playwright install --with-deps` took ~43 minutes on a cache miss, dominating the workflow's wall time. The cache-hit fallback step right after it only installs `libnss3`, which pointed at the system-deps portion of `--with-deps` as the slow path rather than the browser binary download itself. Playwright's chromium apt deps are now baked into the ci-base-image (gitbutlerapp/ci-base-image#6), so this PR also bumps the pinned digest and drops `--with-deps` plus the libnss3 fallback. Explicitly requesting only chromium and webkit avoids downloading Firefox, which the e2e suite doesn't use. An `apt-get update` is needed before the install to avoid stale package index 404s for webkit's system dependencies.
mtsgrd
added a commit
to gitbutlerapp/gitbutler
that referenced
this pull request
Apr 17, 2026
Observed in #13336 (job 71622403832): `pnpm exec playwright install --with-deps` took ~43 minutes on a cache miss, dominating the workflow's wall time. The cache-hit fallback step right after it only installs `libnss3`, which pointed at the system-deps portion of `--with-deps` as the slow path rather than the browser binary download itself. Playwright's chromium apt deps are now baked into the ci-base-image (gitbutlerapp/ci-base-image#6), so this PR also bumps the pinned digest and drops `--with-deps` plus the libnss3 fallback. Explicitly requesting only chromium and webkit avoids downloading Firefox, which the e2e suite doesn't use. An `apt-get update` is needed before the install to avoid stale package index 404s for webkit's system dependencies.
mtsgrd
added a commit
to gitbutlerapp/gitbutler
that referenced
this pull request
Apr 17, 2026
Observed in #13336 (job 71622403832): `pnpm exec playwright install --with-deps` took ~43 minutes on a cache miss, dominating the workflow's wall time. The cache-hit fallback step right after it only installs `libnss3`, which pointed at the system-deps portion of `--with-deps` as the slow path rather than the browser binary download itself. Playwright's chromium apt deps are now baked into the ci-base-image (gitbutlerapp/ci-base-image#6), so this PR also bumps the pinned digest and drops `--with-deps` plus the libnss3 fallback. Explicitly requesting only chromium and webkit avoids downloading Firefox, which the e2e suite doesn't use. An `apt-get update` is needed before the install to avoid stale package index 404s for webkit's system dependencies.
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.
Summary
libnspr4,libnss3,libasound2, and the rest of the Ubuntu 22.04 chromium list) to the base image.Why
The gitbutler
E2E Tests Playwrightworkflow runspnpm exec playwright install --with-depson cache miss. On top of this base image that step has been observed to take 40+ minutes (see e.g. gitbutlerapp/gitbutler#13336, job 71622403832).libnss3alone is what the workflow alreadyapt-get installs in its cache-hit fallback step, so we know it's missing today.With these packages baked in, the follow-up change in
gitbutlerapp/gitbutlercan drop--with-deps(just downloads browser binaries, ~1–2 min) and the libnss3 fallback step entirely.Most listed packages are already pulled in transitively by
libgtk-3-dev/libwebkit2gtk-*-dev; listing them explicitly guards against future Playwright bumps changing the set.Test plan
--with-deps+ libnss3 fallback.🤖 Generated with Claude Code