From 54c3bbac2cd9b8338e822cdc7b12fe9a91a152b4 Mon Sep 17 00:00:00 2001 From: CRT Date: Tue, 13 Oct 2026 02:57:18 +0800 Subject: [PATCH] ci workflow: Playwright browser cache keyed by playwright-core's browsers.json (the repo has no bun.lock, the key was empty) --- .forgejo/workflows/ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index b686993..6b16a75 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -61,12 +61,13 @@ jobs: rustup component add clippy bun --version && cargo --version bun install --frozen-lockfile - # Playwright's Chromium and headless shell (~280 MB), keyed by the locked playwright version; the system - # libraries and fonts (--with-deps) are installed on every run, the job container starts clean + # Playwright's Chromium and headless shell (~280 MB), keyed by the browser builds the installed playwright-core + # wants (its browsers.json); the system libraries and fonts (--with-deps) are installed on every run, the job + # container starts clean - uses: actions/cache@v4 with: path: ~/.cache/ms-playwright - key: playwright-${{ runner.os }}-${{ hashFiles('bun.lock') }} + key: playwright-${{ runner.os }}-${{ hashFiles('node_modules/playwright-core/browsers.json') }} restore-keys: playwright-${{ runner.os }}- # the job runs as root in a container: storebound adds --no-sandbox to the Chromium it starts itself there # (cli/shots/browser.ts sandboxArgs), Playwright's own launches already pass it