forked from theGowda/graphql-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ci.docker-compose.yaml
85 lines (84 loc) · 2.45 KB
/
ci.docker-compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
version: "3.9"
services:
postgres:
image: postgis/postgis:16-3.4
platform: linux/amd64
command:
- -F # turn fsync off for speed
- -N 1000 # increase max connections from 100 so we can run more HGEs
environment:
POSTGRES_PASSWORD: "password"
volumes:
- type: volume
source: postgres
target: /var/lib/postgresql/data
- type: bind
source: ./engine/tests/db_definition.sql
target: /docker-entrypoint-initdb.d/db_definition.sql
read_only: true
healthcheck:
test:
- CMD-SHELL
- psql -U "$${POSTGRES_USER:-postgres}" < /dev/null && sleep 5 && psql -U "$${POSTGRES_USER:-postgres}" < /dev/null
start_period: 5s
interval: 5s
timeout: 10s
retries: 20
postgres_connector:
image: ghcr.io/hasura/ndc-postgres:dev-main-dd4172889
volumes:
- ./engine/tests/pg_ndc_config.json:/config.json
depends_on:
postgres:
condition: service_healthy
healthcheck:
test: curl --fail http://localhost:8100/schema || exit 1
start_period: 5s
interval: 5s
timeout: 10s
retries: 20
command: ["serve", "--configuration", "/config.json"]
custom_connector:
build:
context: .
target: builder
healthcheck:
test: curl --fail http://localhost:8101/schema || exit 1
start_period: 5s
interval: 5s
timeout: 10s
retries: 20
command: ["sh", "-c", "cargo run --bin agent"]
source_only:
build:
context: .
target: builder
volumes:
# So that updated files make their way back to the host machine
- ./tracing-util:/app/tracing-util
- ./lang-graphql:/app/lang-graphql
- ./open-dds:/app/open-dds
- ./engine:/app/engine
- ./hasura-authn-core:/app/hasura-authn-core
- ./hasura-authn-webhook:/app/hasura-authn-webhook
- ./coverage:/app/coverage
test_setup:
build:
context: .
target: builder
depends_on:
- postgres
- postgres_connector
- custom_connector
volumes:
# So that updated files make their way back to the host machine
- ./tracing-util:/app/tracing-util
- ./lang-graphql:/app/lang-graphql
- ./open-dds:/app/open-dds
- ./engine:/app/engine
- ./hasura-authn-core:/app/hasura-authn-core
- ./hasura-authn-webhook:/app/hasura-authn-webhook
- ./benchmark.sh:/app/benchmark.sh
- ./coverage:/app/coverage
volumes:
postgres: