Skip to content

Commit e8aa398

Browse files
committed
ci: run e2e on Node 24 and cache the Electron binary
The Linux e2e job kept failing with 'Electron failed to install correctly' even after an explicit install.js step. Move the runner from Node 26 (Current, three weeks old) to Node 24 (active LTS) so Electron's install tooling and Playwright run on the stable line, and cache ~/.cache/electron so launch does not depend on a fresh binary fetch each run. Note: AI-assisted (Claude Code). Manually verified: prettier clean; the actions/cache pin is the real v4.3.0 SHA.
1 parent 89b706b commit e8aa398

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

.github/workflows/e2e.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,21 @@ jobs:
2121
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
2222
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
2323
with:
24-
node-version: '26.x'
24+
# Node 24 (active LTS), not 26 (Current): keep the e2e runner on the
25+
# stable line for Electron's install tooling and Playwright.
26+
node-version: '24.x'
2527
cache: 'yarn'
28+
# Cache the @electron/get binary download so launch does not depend on a
29+
# fresh GitHub-releases fetch every run.
30+
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
31+
with:
32+
path: ~/.cache/electron
33+
key: ${{ runner.os }}-electron-${{ hashFiles('yarn.lock') }}
34+
restore-keys: ${{ runner.os }}-electron-
2635
- run: yarn install --frozen-lockfile
27-
# Ensure Electron's platform binary is present; its postinstall can be
28-
# skipped when node_modules is restored from cache, which fails launch
29-
# with "Electron failed to install correctly".
36+
# Materialize Electron's platform binary into node_modules/electron/dist;
37+
# its postinstall can be skipped on a cache-restored tree, which fails
38+
# launch with "Electron failed to install correctly".
3039
- run: node node_modules/electron/install.js
3140
- run: yarn build
3241
# Electron needs system libraries; xvfb provides a display on the headless

0 commit comments

Comments
 (0)