bun dw spins up a fully isolated per-worktree dev stack: Neon DB branch, Dragonfly + ElasticMQ via docker compose, portless aliases, tmux session, and emulate.dev Google OAuth. Workers, dev server, vite, checkout, and stripe-listen run as concurrently siblings. bun setup-test auto-runs on first dw and seeds unit-test-org via clearOrg+setupOrg+ensureDefaultStripeAccount with 13 features + team invites for all 5 useautumn.com members. Hardcoded localhost URLs in test scenarios now read AUTUMN_TEST_BASE_URL/AUTUMN_TEST_VITE_URL. preload-env.ts loads .env.local so bun t/cm/setup-test route to the worktree server. 1265-line scripts/dw.ts split into scripts/dw/ module (index + commands + helpers). server/src/db/initDrizzle.ts reverted to upstream (search_path concerns solved by per-branch Neon isolation). Workers enabled in agent worktrees now that SQS is per-worktree via ElasticMQ.
24 lines
729 B
YAML
24 lines
729 B
YAML
# Per-worktree infra stack for `bun dw`.
|
|
# Project name is set per-worktree via COMPOSE_PROJECT_NAME (e.g. autumn-wt-8).
|
|
# Ports are substituted from env vars (DRAGONFLY_PORT, ELASTICMQ_PORT).
|
|
|
|
services:
|
|
dragonfly:
|
|
image: docker.dragonflydb.io/dragonflydb/dragonfly
|
|
container_name: ${COMPOSE_PROJECT_NAME}-dragonfly
|
|
ports:
|
|
- "${DRAGONFLY_PORT}:6379"
|
|
ulimits:
|
|
memlock: -1
|
|
restart: unless-stopped
|
|
|
|
elasticmq:
|
|
image: softwaremill/elasticmq-native:latest
|
|
container_name: ${COMPOSE_PROJECT_NAME}-elasticmq
|
|
ports:
|
|
- "${ELASTICMQ_PORT}:9324"
|
|
volumes:
|
|
- ./elasticmq.conf:/opt/elasticmq.conf:ro
|
|
command: ["-Dconfig.file=/opt/elasticmq.conf"]
|
|
restart: unless-stopped
|