Some checks failed
Magnitude Tests / test (push) Failing after 2m2s
Adds Playwright service to docker-compose.yml for easier test execution and better integration with existing database services. ## Changes - Add `playwright` service to docker-compose.yml: - Uses official Playwright image (mcr.microsoft.com/playwright:v1.49.1-noble) - Runs as non-root user (pwuser) for security - Uses host networking to access dev server on localhost:3000 - Loads environment variables from .env - Uses `profiles: [test]` to keep it optional - Mounts node_modules volume to prevent permission issues - Update documentation in AGENTS.md: - Replace standalone Docker commands with docker-compose usage - Document two usage patterns: `docker compose run` and `--profile test` - Explain benefits of integrated setup ## Usage ```bash # Start database services docker compose up -d # Start dev server pnpm dev # Run Playwright tests in Docker docker compose run --rm playwright ``` Or with profiles: ```bash # Run tests one-off docker compose --profile test run --rm playwright ``` ## Benefits - Unified infrastructure setup (database + tests) - No need for separate Dockerfile build step - Easier for new developers to run tests - Consistent with existing docker-compose workflow 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
58 lines
1.4 KiB
YAML
58 lines
1.4 KiB
YAML
services:
|
|
surrealdb:
|
|
image: surrealdb/surrealdb:latest
|
|
ports:
|
|
- "8000:8000"
|
|
command:
|
|
- start
|
|
- --log
|
|
- trace
|
|
- --user
|
|
- ${SURREALDB_USER}
|
|
- --pass
|
|
- ${SURREALDB_PASS}
|
|
- memory
|
|
volumes:
|
|
- ./surreal/data:/data
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
surrealmcp:
|
|
image: surrealdb/surrealmcp:latest
|
|
command: >
|
|
start
|
|
--bind-address 0.0.0.0:8080
|
|
--server-url http://localhost:8080
|
|
-e ws://surrealdb:8000/rpc
|
|
--ns ${SURREALDB_NS} --db ${SURREALDB_DB} -u ${SURREALDB_USER} -p ${SURREALDB_PASS}
|
|
ports:
|
|
- "8080:8080"
|
|
depends_on:
|
|
- surrealdb
|
|
|
|
playwright:
|
|
image: mcr.microsoft.com/playwright:v1.49.1-noble
|
|
working_dir: /home/pwuser/app
|
|
user: pwuser
|
|
network_mode: host
|
|
volumes:
|
|
- .:/home/pwuser/app
|
|
- /home/pwuser/app/node_modules
|
|
environment:
|
|
- TEST_BLUESKY_HANDLE=${TEST_BLUESKY_HANDLE}
|
|
- TEST_BLUESKY_PASSWORD=${TEST_BLUESKY_PASSWORD}
|
|
- PLAYWRIGHT_BASE_URL=${PLAYWRIGHT_BASE_URL:-http://localhost:3000}
|
|
command: >
|
|
sh -c "
|
|
npm install -g pnpm &&
|
|
pnpm install --frozen-lockfile &&
|
|
npx playwright test
|
|
"
|
|
depends_on:
|
|
- surrealdb
|
|
profiles:
|
|
- test
|