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 |
| 15 | services: |
| 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 |