a9cd7750f4
CI / detect-changes (push) Waiting to run
CI / build (push) Waiting to run
UI v2 CI / E2E (Mocked) (push) Blocked by required conditions
UI v2 Integration CI / E2E (Integration) (push) Waiting to run
CI / unit-test (push) Blocked by required conditions
CI / test-harness (push) Waiting to run
CI / generate-e2e-matrix (push) Waiting to run
CI / e2e (push) Blocked by required conditions
CI / build-ui (push) Waiting to run
Publish docs via GitHub Pages / Deploy docs (push) Waiting to run
Release Drafter / update_release_draft (push) Waiting to run
UI v2 CI / Lint, Format & Test (push) Waiting to run
71 lines
1.9 KiB
YAML
71 lines
1.9 KiB
YAML
# Docker Compose stack for Playwright UI integration tests.
|
|
#
|
|
# Uses the locally-built conductor:server image with Postgres as the backing
|
|
# store (no Elasticsearch required — Postgres full-text search is sufficient
|
|
# for the UI test workload).
|
|
#
|
|
# Build the server image once before running integration tests:
|
|
#
|
|
# docker build -t conductor:server -f docker/server/Dockerfile \
|
|
# --build-arg PREBUILT=false .
|
|
#
|
|
# Then start this stack (from the repo root):
|
|
#
|
|
# docker compose -f docker/docker-compose-ui-e2e.yaml up -d
|
|
#
|
|
# The Playwright global-setup script does this automatically when tests start.
|
|
# Container names are distinct from other compose stacks to allow both to
|
|
# run side-by-side without port or name conflicts.
|
|
|
|
services:
|
|
conductor-server:
|
|
image: conductor:server
|
|
build:
|
|
context: ../
|
|
dockerfile: docker/server/Dockerfile
|
|
container_name: conductor-server-ui-e2e
|
|
environment:
|
|
- CONFIG_PROP=config-postgres.properties
|
|
- conductor.app.ownerEmailMandatory=false
|
|
networks:
|
|
- internal
|
|
ports:
|
|
- "8000:8080"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-sf", "http://localhost:8080/health"]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 24 # up to 4 minutes for a cold JVM start
|
|
links:
|
|
- conductor-postgres:postgresdb
|
|
depends_on:
|
|
conductor-postgres:
|
|
condition: service_healthy
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10k"
|
|
max-file: "3"
|
|
|
|
conductor-postgres:
|
|
image: postgres:16
|
|
container_name: conductor-postgres-ui-e2e
|
|
environment:
|
|
- POSTGRES_USER=conductor
|
|
- POSTGRES_PASSWORD=conductor
|
|
networks:
|
|
- internal
|
|
healthcheck:
|
|
test: timeout 5 bash -c 'cat < /dev/null > /dev/tcp/localhost/5432'
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 12
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "1k"
|
|
max-file: "3"
|
|
|
|
networks:
|
|
internal:
|