next.js
30b305e2 - [ci] Skip Playwright system deps install on subsequent self-hosted runs (#92893)

Commit
97 days ago
[ci] Skip Playwright system deps install on subsequent self-hosted runs (#92893) ## What Use a stamp file to skip `playwright install --with-deps` after the first successful run on a self-hosted runner. ## Why `--with-deps` runs `sudo apt-get install` for Playwright's system dependencies every time, even when they're already installed. On self-hosted runners this takes ~10s of no-op `apt-get` checking. After the first install, subsequent runs only need `playwright install` (which downloads browser binaries if the version changed, and is instant when cached). The assumption is that on most of the runners, `playwright` will be the same version on each, and the deps that are installed are compatible within each version. Most of the time this step is ~3s, when everything is healthy and up-to-date. Occasionally these steps will hiccup on builds when we're already really got these deps installed so this chops a little bit off each one. This also helps when APT mirrors go down. ## How - First run: `playwright install --with-deps` + write `~/.cache/playwright-deps-installed` - Subsequent runs: stamp file exists, run `playwright install` without `--with-deps` - The stamp persists on self-hosted runners across jobs - Fresh/reimaged runners don't have the stamp, so they get the full install - The cache is ignored if the most recently installed playwright version doesn't match <!-- NEXT_JS_LLM_PR -->
Author
Parents
Loading