Skip to content

Commit c02555b

Browse files
nizzlenitzclaude
andcommitted
ci(replatform): cache npm store + Playwright browser
Add setup-node npm caching (keyed off both lockfiles) and cache the downloaded Chromium (~/.cache/ms-playwright, keyed off app/package-lock.json). Saves the repeated npm-ci downloads (~30-60s across the two installs) and the Playwright browser download (~22s) on runs after the caches are warm. Ingest still dominates the run; this is the low-risk slice. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Eijma5uKcPZi9tqV2aJBeh
1 parent 5499f08 commit c02555b

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

.github/workflows/replatform-parity.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ jobs:
2323
- uses: actions/setup-node@v6
2424
with:
2525
node-version: '24'
26+
# Cache the npm download store (~/.npm) keyed off both lockfiles, so the
27+
# root `npm ci` and app `npm ci` skip re-downloading unchanged deps.
28+
cache: 'npm'
29+
cache-dependency-path: |
30+
package-lock.json
31+
app/package-lock.json
2632
2733
# Fail early with an actionable message rather than a cryptic ingest 500.
2834
# GEMINI_API_KEY is REQUIRED: the schema's @embed backend won't register
@@ -179,6 +185,13 @@ jobs:
179185
# chat retrieval still surfaces the right doc page for NL questions.
180186
run: node app/scripts/chat-grounding.ts --min-recall 0.6 --target http://127.0.0.1:9936
181187

188+
# Cache the downloaded Chromium so only the first run (per Playwright version)
189+
# pays the download; keyed off the app lockfile so a version bump reinstalls.
190+
- name: Cache Playwright browser
191+
uses: actions/cache@v4
192+
with:
193+
path: ~/.cache/ms-playwright
194+
key: playwright-${{ runner.os }}-${{ hashFiles('app/package-lock.json') }}
182195
- name: Install Playwright browser
183196
run: npx --prefix app playwright install --with-deps chromium
184197

0 commit comments

Comments
 (0)