Commit 212bc89
committed
Cache Playwright browsers and bound install timeout in CI
Install Playwright Browsers step in test-smokes.yml currently has no
timeout and re-downloads browser binaries on every run. A recent CI run
showed three ubuntu buckets stuck for 2+ hours on this step while
another bucket finished the same step in 41 seconds on a sibling
runner — the failure mode looks like transient runner/network hangs
rather than slow installs.
Set PLAYWRIGHT_BROWSERS_PATH at job level to pin the browsers install
location to a path under github.workspace that is identical across
Linux, Windows, and macOS. This lets a single actions/cache entry
restore browsers on any runner OS without the default-per-OS path
variance, and ensures install + test steps agree on the location.
Cache is keyed on the resolved Playwright version (read via node -p
on the installed @playwright/test package.json so the key tracks what
npm actually resolved, not the stale lockfile). Keep --with-deps as-is
per upstream guidance (microsoft/playwright#20603). Add
timeout-minutes: 10 so a stuck runner fails fast instead of blocking
the matrix until the 6h job cap.1 parent 2b025d5 commit 212bc89
1 file changed
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| 61 | + | |
| 62 | + | |
61 | 63 | | |
62 | 64 | | |
63 | 65 | | |
| |||
98 | 100 | | |
99 | 101 | | |
100 | 102 | | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
101 | 120 | | |
102 | 121 | | |
| 122 | + | |
103 | 123 | | |
104 | 124 | | |
105 | 125 | | |
| |||
0 commit comments