Skip to content

Commit 2a309d3

Browse files
committed
fix: install playwright chromium for US-400 CI
1 parent 1ab1b5f commit 2a309d3

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,20 @@ jobs:
9898
restore-keys: |
9999
${{ runner.os }}-node-modules-${{ env.NODE_VERSION }}-
100100
101+
- name: Cache Playwright browsers
102+
uses: actions/cache@v4
103+
with:
104+
path: ~/.cache/ms-playwright
105+
key: ${{ runner.os }}-playwright-${{ hashFiles('pnpm-lock.yaml') }}
106+
restore-keys: |
107+
${{ runner.os }}-playwright-
108+
101109
- name: Install workspace dependencies
102110
run: pnpm install --frozen-lockfile
103111

112+
- name: Install Playwright Chromium
113+
run: pnpm --dir packages/browser exec playwright install --with-deps chromium
114+
104115
- name: Build registry types package first
105116
run: pnpm --filter @rivet-dev/agent-os-registry-types build
106117

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ Each agent type needs:
265265
- **CI should run both `cargo test --workspace --no-fail-fast` and the ignored sidecar integration suite.** The four slow sidecar isolation tests are intentionally marked `#[ignore]` for local ergonomics, so the workflow needs a dedicated `cargo test -p agent-os-sidecar -- --ignored --test-threads=1` step to keep them covered.
266266
- **Cache the expensive layers explicitly.** Reuse pnpm store, workspace `node_modules`, and Rust `target/`/cargo caches in CI; otherwise this repo's mixed Rust/TS pipeline gets too slow to iterate on.
267267
- **CI runners also need the `just` binary.** `packages/dev-shell/test/dev-shell-cli.integration.test.ts` shells out to the repo `justfile`, so GitHub runners must install `just` explicitly or the package test fails with `spawn just ENOENT`.
268+
- **CI runners also need Playwright's Chromium bundle for `packages/browser`.** The browser package's `test:browser` script launches Playwright against Chromium, so the workflow must install and ideally cache `~/.cache/ms-playwright` or every browser spec fails with `browserType.launch: Executable doesn't exist`.
268269
- **Cross-crate Rust test helpers must use repo-relative paths, never machine-local absolute paths.** `#[path = "..."]` includes under `crates/*` are compiled on CI runners with different checkout roots, so absolute developer paths like `/home/nathan/...` will break `cargo test --workspace`.
269270
- **Local CI reproduction:** `git lfs pull && cargo test --workspace --no-fail-fast && cargo test -p agent-os-sidecar -- --ignored --test-threads=1 && cargo build -p agent-os-sidecar && AGENTOS_E2E_NETWORK=1 pnpm test`
270271
- **Framework**: vitest

0 commit comments

Comments
 (0)