-
Notifications
You must be signed in to change notification settings - Fork 525
Description
Operating System
Linux (Docker)
Run Mode
Docker
App Version
0.13.0
Bug Description
AI agents running in automated testing mode fail when attempting Playwright verification because Playwright browsers are not installed in the Docker container. The default prompts instruct agents to verify implementations using Playwright, but Docker users have no browsers available.
Root Cause Analysis
-
Dockerfile (
Dockerfile:70-79) installs Playwright system dependencies (libglib2.0, libnss3, etc.) but NOT the browser binaries themselves -
Default prompts (
libs/prompts/src/defaults.ts:840) includeDEFAULT_PLAYWRIGHT_VERIFICATION_INSTRUCTIONSthat tell agents:"After implementing the feature, you MUST verify it works correctly using Playwright"
-
docker-compose.override.yml.example shows a commented-out
playwright-cachevolume but:- No instructions on how to install browsers
- Not mentioned in README or Docker documentation
- Easy to miss for new users
-
npm/Electron users don't hit this because they typically have Playwright browsers in
~/.cache/ms-playwrightfrom local development
Steps to Reproduce
- Run Automaker with
docker compose up - Create a feature and move it to "In Progress" (automated mode)
- Wait for the AI agent to attempt Playwright verification
- Agent fails with "Playwright browser installation was blocked by permissions"
Expected Behavior
One of:
- Docker image should include Playwright browsers pre-installed
- Documentation should clearly explain how to set up Playwright for Docker users
- Playwright verification should be gracefully skipped/disabled when browsers unavailable
Actual Behavior
AI agents fail verification step. Error message: "Playwright browser installation was blocked by permissions, but build verification confirms the implementation is working"
Suggested Fix
Option A: Pre-install browsers in Docker image (increases image size ~300MB)
# In Dockerfile, after installing system deps
RUN npx playwright install chromiumOption B: Document the setup for Docker users
Update README Docker section and docker-compose.override.yml.example:
# docker-compose.override.yml
services:
server:
volumes:
- playwright-cache:/home/automaker/.cache/ms-playwright
volumes:
playwright-cache:
name: automaker-playwright-cacheThen instruct users to run once:
docker exec automaker-server npx playwright install chromiumOption C: Detect missing browsers and skip Playwright verification
Add a check in the prompts or agent logic to gracefully skip Playwright verification when browsers aren't available, falling back to build-only verification.
Screenshots
N/A
Relevant Logs
Playwright browser installation was blocked by permissions, but build verification confirms the implementation is working
Additional Context
The docker-compose.override.yml.example file (line 24-26) has the volume mount commented out with minimal context:
# Playwright browser cache - persists installed browsers across container restarts
# Run 'npx playwright install --with-deps chromium' once, and it will persist
# - playwright-cache:/home/automaker/.cache/ms-playwrightThis is easy to miss and doesn't explain that it's required for automated testing mode to work.
Checklist
- I have searched existing issues to ensure this bug hasn't been reported already
- I have provided all required information above