docker-compose.dolt.yml28 lines · main
1# DoltGres for integration tests (local + CI).
2#
3# Brings up the REAL engine the data plane runs against, so DoltGres
4# incompatibilities (LIKE…ESCAPE, ILIKE, SET LOCAL, citext, vector, etc.)
5# fail HERE — in a test — instead of in production. This is the foundation
6# that stops the "little bugs keep coming back" cycle: the convergence was
7# done without any test that uses real DoltGres, so every incompatibility
8# only surfaced when a user hit it.
9#
10# Usage:
11# docker compose -f infra/test/docker-compose.dolt.yml up -d
12# BRIVEN_DATA_PLANE_URL=postgres://postgres:password@127.0.0.1:5433/postgres \
13# pnpm test:integration
14# docker compose -f infra/test/docker-compose.dolt.yml down -v
15services:
16 doltgres-test:
17 image: dolthub/doltgresql:latest
18 environment:
19 DOLTGRES_USER: postgres
20 DOLTGRES_PASSWORD: password
21 ports:
22 - "5433:5432"
23 healthcheck:
24 # DoltGres has no pg_isready; check the wire port is accepting connections.
25 test: ["CMD-SHELL", "bash -c '</dev/tcp/127.0.0.1/5432' || exit 1"]
26 interval: 5s
27 timeout: 3s
28 retries: 30