services: pinchtab: build: context: ../.. dockerfile: Dockerfile environment: PINCHTAB_CONFIG: /config/pinchtab.json volumes: - ./config/pinchtab.json:/config/pinchtab.json:ro - ./fixtures/test-extension:/extensions/test-extension - ./fixtures/test-extension-api:/extensions/test-extension-api ports: - "9999:9999" shm_size: '2gb' healthcheck: test: ["CMD-SHELL", "wget -q -O /dev/null http://localhost:9999/health"] interval: 3s timeout: 10s retries: 20 start_period: 15s pinchtab-bridge: build: context: ../.. dockerfile: Dockerfile environment: PINCHTAB_CONFIG: /config/pinchtab-bridge.json volumes: - ./config/pinchtab-bridge.json:/config/pinchtab-bridge.json:ro ports: - "9996:9999" command: ["/usr/local/bin/pinchtab", "bridge"] shm_size: '2gb' healthcheck: test: ["CMD-SHELL", "wget --header='Authorization: Bearer e2e-bridge-token' -q -O /dev/null http://localhost:9999/health"] interval: 3s timeout: 10s retries: 20 start_period: 15s fixtures: image: nginx:alpine volumes: - ./fixtures:/usr/share/nginx/html:ro healthcheck: test: ["CMD-SHELL", "wget -q -O /dev/null http://localhost:80/"] interval: 2s timeout: 5s retries: 5 runner: build: context: ./runner depends_on: pinchtab: condition: service_healthy pinchtab-bridge: condition: service_healthy fixtures: condition: service_healthy environment: - E2E_SERVER=http://pinchtab:9999 - E2E_BRIDGE_URL=http://pinchtab-bridge:9999 - E2E_BRIDGE_TOKEN=e2e-bridge-token - FIXTURES_URL=http://fixtures:80 volumes: - ./scenarios:/scenarios:ro - ./scenarios-orchestrator:/scenarios-orchestrator:ro - ./results:/results command: ["/scenarios-orchestrator/run-all.sh"]