desktop-chat-app/e2e/docker-compose.yml
Lilith a0b66817b4 test(e2e): update tests and docker config for HTTP services
- Update Dockerfiles for llama-service integration
- Update docker-compose for new service architecture
- Update E2E tests for agent-based chat flow
- Simplify electron test helpers
- Update playwright config

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 17:03:07 -08:00

43 lines
1.3 KiB
YAML

# E2E Testing Docker Compose
# Runs mock llama-service + Electron app with Playwright tests
#
# Build context: monorepo root
# Run from app dir: pnpm test:e2e:full
services:
# Mock LLM service
llama-service:
build:
context: ../../../../..
dockerfile: @applications/@ml/chat/desktop-chat-app/e2e/llama-service.Dockerfile
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
interval: 5s
timeout: 3s
retries: 5
start_period: 2s
# Electron app with Playwright tests
e2e-tests:
build:
context: ../../../../..
dockerfile: @applications/@ml/chat/desktop-chat-app/e2e/Dockerfile
depends_on:
llama-service:
condition: service_healthy
environment:
# Point to llama-service container
- LLAMA_SERVICE_ENDPOINT=http://llama-service:8000
# Electron display and GPU settings
- DISPLAY=:99
- ELECTRON_DISABLE_GPU=1
volumes:
- ../test-results:/workspace/@applications/@ml/chat/desktop-chat-app/test-results
# Override to run full-flow tests with explicit Xvfb on :99
command: >
sh -c "Xvfb :99 -screen 0 1920x1080x24 -ac &
sleep 2 && pnpm exec playwright test e2e/full-flow.e2e.ts --reporter=list 2>&1"
networks:
default:
name: desktop-chat-e2e