feat(actions-runner): bake in headless Chromium libs for Playwright suites - #4
Merged
Merged
Conversation
…uites Playwright workflows on ARC runners fail at `playwright install --with-deps`: it escalates to root to apt-install Chromium's system libraries, and this image is rootless with no sudo (su: Authentication failure). Baking the libraries in lets workflows run a plain `playwright install chromium` as the runner user. The package list is Playwright 1.62.0's nativeDeps for ubuntu24.04 (identical on arm64), minus xvfb and the xfonts-* server fonts that only headed X11 mode needs. The font packages stay so screenshot suites render emoji and CJK text instead of tofu boxes. Signed-off-by: swibrow <15628653+swibrow@users.noreply.github.com>
Merged
3 tasks
swibrow
added a commit
to swibrow/home-ops
that referenced
this pull request
Jul 30, 2026
… pool (#1896) * chore(arc): garrison runner image 2.336.0-2 with Playwright chromium libs Same upstream runner; the revision bakes in headless Chromium's system libraries (cloudsnacks/containers#4) so garrison's wartable-ui job can run `playwright install chromium` without root. Manual bump: renovate deliberately doesn't track the -N revision suffix on this image. Signed-off-by: swibrow <15628653+swibrow@users.noreply.github.com> * chore(arc): scale the garrison runners and take the mise toolchain image garrison's ci fans out further than the shared default of two runners can absorb: a main push wants the five gates plus a keep and a runner image build at once. On run 30489535961 that queued 56 aggregate minutes against 24 minutes of work, with build (keep) waiting 22m54 for a slot. maxRunners 6 gives the split gates somewhere to go, and minRunners 1 keeps one warm so the ~10 minute ARC cold start stops landing on the front of every run — it was 12m08 before gates even started. The image bump to 2.336.0-3 picks up the mise-managed CLI toolchain (gh, yq, hadolint, shellcheck), which is what lets garrison's deploy-pitower job drop the yq and gh it was curling into RUNNER_TEMP. Land that image first: the tag has to exist before the scale set rolls. Signed-off-by: swibrow <15628653+swibrow@users.noreply.github.com> --------- Signed-off-by: swibrow <15628653+swibrow@users.noreply.github.com>
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
playwright install --with-depsescalates to root for these packages and the image is rootless (su: Authentication failure— this has failed every garrison main run since the wartable Playwright job landed). With the libs baked in, workflows run a plainplaywright install chromiumas the runner user.nativeDepsforubuntu24.04(same set on arm64), minusxvfband thexfonts-*server fonts that only headed X11 mode needs. Fonts (fonts-noto-color-emoji, CJK, liberation) stay — screenshot suites need them to render emoji-heavy UI instead of tofu boxes.2.336.0-2and extends the smoke test to assert a sample of the new packages.Test plan
wartable-uijob passes on thegarrisonrunner with plainbunx playwright install chromium