feat: add Chromium to CI Docker image for browse E2E tests

Browse E2E tests (browse basic, browse snapshot) need Playwright +
Chromium to render pages. The CI container didn't have a browser
installed, so the agent spent all turns trying to start the browse
server and failing.

Adds Playwright system deps + Chromium browser to the Docker image.
~400MB image size increase but enables full browse test coverage in CI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-03-23 16:30:23 -07:00
parent f799ea68a7
commit 55246b5cd8
+9 -1
View File
@@ -29,13 +29,21 @@ RUN curl -fsSL https://bun.sh/install | bash
# Claude CLI
RUN npm i -g @anthropic-ai/claude-code
# Playwright system deps (Chromium) — needed for browse E2E tests
# Install deps first (large layer, changes rarely), then Playwright + browser
RUN npx playwright install-deps chromium
# Pre-install dependencies (cached layer — only rebuilds when package.json changes)
COPY package.json /workspace/
WORKDIR /workspace
RUN bun install && rm -rf /tmp/*
# Install Playwright Chromium browser (uses deps installed above)
RUN npx playwright install chromium
# Verify everything works
RUN bun --version && node --version && claude --version && jq --version && gh --version
RUN bun --version && node --version && claude --version && jq --version && gh --version \
&& npx playwright --version
# At runtime: checkout overwrites /workspace, but node_modules persists
# if we move it out of the way and symlink back