Files
conductor-oss--conductor/docker/docker-compose-ui-e2e.yaml
Andrew Lai (AJ) 9bfa635d4a Add frontend code coverage and fix LLM Chat/Text tasks (#1461)
* Add frontend code coverage

* Revert LLM task forms to correct version and add tests

* Fix CI heap out of memory

* Add OPENAI_API_KEY to env for test

* - Update slack icon for coverage report
- Make tests more stable

* Set slack icon back to hidden based on flag

* - Fix coverage report
- Try and improve CI speed

* Add better placeholder and helper text for Chat Complete task

* Make instructions take priority over system messages if instructions are provided

* Improve LLM chat complete UX so it's less confusing - Enterprise you either select a prompt OR provide instructions

* Rename field to Prompt Template instead of AI Prompt and increase spacing from label
2026-08-04 14:47:09 -07:00

74 lines
2.1 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
# Forwarded from the host when set. Empty/absent ⇒ OpenAI stays unconfigured and
# LLM execution tests that need a live provider self-skip (definition UI tests still run).
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
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: