mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 14:25:02 +00:00
54 lines
1.9 KiB
YAML
54 lines
1.9 KiB
YAML
# docker-compose.test.yml — Lightweight DB containers for DBAL integration tests.
|
|
#
|
|
# DEPRECATED: testcontainers-sidecar now starts/stops containers automatically.
|
|
# Keep as fallback for environments without Docker daemon access (e.g. some CI configs).
|
|
# Preferred: build with BUILD_INTEGRATION_TESTS=ON and let testcontainers manage lifecycle.
|
|
#
|
|
# Uses non-conflicting ports (5433, 3307) so it can run alongside the dev stack.
|
|
# tmpfs mounts make containers fast and ephemeral (data discarded on stop).
|
|
#
|
|
# Usage:
|
|
# docker compose -f deployment/docker-compose.test.yml up -d
|
|
# export DBAL_TEST_POSTGRES_URL=postgresql://testuser:testpass@localhost:5433/dbal_test
|
|
# export DBAL_TEST_MYSQL_URL=mysql://root:testpass@localhost:3307/dbal_test
|
|
# cd dbal/production/_build && ctest -R dbal_integration_tests --output-on-failure
|
|
# docker compose -f deployment/docker-compose.test.yml down
|
|
|
|
services:
|
|
|
|
postgres-test:
|
|
image: postgres:16-alpine
|
|
container_name: dbal-test-postgres
|
|
environment:
|
|
POSTGRES_PASSWORD: testpass
|
|
POSTGRES_USER: testuser
|
|
POSTGRES_DB: dbal_test
|
|
ports:
|
|
- "5433:5432" # 5433 avoids conflict with dev stack on 5432
|
|
tmpfs:
|
|
- /var/lib/postgresql/data # in-memory storage, instant teardown
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U testuser -d dbal_test"]
|
|
interval: 2s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
mysql-test:
|
|
image: mysql:8-oracle
|
|
container_name: dbal-test-mysql
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: testpass
|
|
MYSQL_DATABASE: dbal_test
|
|
MYSQL_USER: testuser
|
|
MYSQL_PASSWORD: testpass
|
|
ports:
|
|
- "3307:3306" # 3307 avoids conflict with dev stack on 3306
|
|
tmpfs:
|
|
- /var/lib/mysql # in-memory storage, instant teardown
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-ptestpass"]
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 10
|
|
start_period: 20s
|