-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
docker-compose.yml
161 lines (151 loc) · 4.73 KB
/
docker-compose.yml
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
version: '3.7'
services:
app:
image: node:12-buster
volumes:
- ../../:/app
working_dir: /app
command: /app/.buildkite/publish/run.sh
environment:
# PostgreSQL
- TEST_POSTGRES_URI_MIGRATE=postgres://prisma:prisma@postgres:5432/tests-migrate
- TEST_POSTGRES_SHADOWDB_URI_MIGRATE=postgres://prisma:prisma@postgres:5432/tests-migrate-shadowdb
- TEST_POSTGRES_BASE_URI=postgres://prisma:prisma@postgres:5432
- TEST_POSTGRES_URI=postgres://prisma:prisma@postgres:5432/tests
- TEST_POSTGRES_ISOLATED_URI=postgres://prisma:prisma@postgres_isolated:5432/tests
# MySQL
- TEST_MYSQL_URI_MIGRATE=mysql://root:root@mysql:3306/tests-migrate
- TEST_MYSQL_SHADOWDB_URI_MIGRATE=mysql://root:root@mysql:3306/tests-migrate-shadowdb
- TEST_MYSQL_BASE_URI=mysql://root:root@mysql:3306
- TEST_MYSQL_URI=mysql://root:root@mysql:3306/tests
- TEST_MYSQL_ISOLATED_URI=mysql://root:root@mysql_isolated:3306/tests
# MariaDB
- TEST_MARIADB_BASE_URI=mysql://root:root@mariadb:3306
- TEST_MARIADB_URI=mysql://root:root@mariadb:3306/tests
# SQL Server
- TEST_MSSQL_URI=mssql://SA:Pr1sm4_Pr1sm4@mssql:1433/master
- TEST_MSSQL_JDBC_URI=sqlserver://mssql:1433;database=master;user=SA;password=Pr1sm4_Pr1sm4;trustServerCertificate=true;
- TEST_MSSQL_JDBC_URI_MIGRATE=sqlserver://mssql:1433;database=tests-migrate;user=SA;password=Pr1sm4_Pr1sm4;trustServerCertificate=true;
- TEST_MSSQL_SHADOWDB_JDBC_URI_MIGRATE=sqlserver://mssql:1433;database=tests-migrate-shadowdb;user=SA;password=Pr1sm4_Pr1sm4;trustServerCertificate=true;
# MongoDB
- TEST_MONGO_URI=mongodb://root:prisma@mongo:27018/tests?authSource=admin
- TEST_MONGO_URI_MIGRATE=mongodb://root:prisma@mongodb_migrate:27017/tests-migrate?authSource=admin
# CockroachDB
- TEST_COCKROACH_URI=postgresql://prisma@cockroachdb:26257/
# Other vars !\ If not defined, they cannot be accessed
# TODO: do an env var cleanup?
- NPM_TOKEN
- GITHUB_TOKEN
- UPDATE_STUDIO
- BUILDKITE
- BUILDKITE_TAG
- BUILDKITE_BRANCH
- RELEASE_PROMOTE_DEV
- PUBLISH_BUILD=true
- REDIS_URL
- MIGRATE_COMMIT
- PRISMA_CLIENT_JS_COMMIT
- PRISMA2_COMMIT
- PATCH_BRANCH
- DRY_RUN
- CI
- PRISMA_TELEMETRY_INFORMATION="buildkite prisma publish"
- SKIP_E2E_CHECK
- SLACK_RELEASE_FEED_WEBHOOK
depends_on:
- postgres
- postgres_isolated
- mysql
- mysql_isolated
- mariadb
- mssql
- mongo
- mongodb_migrate
- mongodb_migrate_seed
- cockroachdb
postgres:
image: postgres:10
restart: always
environment:
- POSTGRES_DB=tests
- POSTGRES_USER=prisma
- POSTGRES_PASSWORD=prisma
ports:
- '5432:5432'
postgres_isolated:
image: postgres:10
restart: always
environment:
- POSTGRES_DB=tests
- POSTGRES_USER=prisma
- POSTGRES_PASSWORD=prisma
ports:
- '5435:5432'
cockroachdb:
image: prismagraphql/build:cockroach-custom
restart: always
command: start-single-node --insecure
ports:
- '26257:26257'
mysql:
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=tests
- MYSQL_USER=prisma
ports:
- '3306:3306'
mysql_isolated:
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=tests
- MYSQL_USER=prisma
- MYSQL_PASSWORD=prisma
ports:
- '3307:3306'
mariadb:
image: mariadb:10
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=tests
- MYSQL_USER=prisma
- MYSQL_PASSWORD=prisma
ports:
- '4306:3306'
mssql:
image: mcr.microsoft.com/mssql/server:2019-latest
restart: always
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=Pr1sm4_Pr1sm4
ports:
- '1433:1433'
mongodb_migrate:
image: mongo:4
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: prisma
MONGO_INITDB_DATABASE: tests-migrate
ports:
- '27017:27017'
mongodb_migrate_seed:
build: ../../docker/mongodb_migrate_seed
depends_on:
- mongodb_migrate
mongo:
build: ../../docker/mongodb_replica
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: prisma
MONGO_REPLICA_HOST: mongo
MONGO_REPLICA_PORT: 27018
ports:
- '27018:27018'
# TODO: investigate why isolated containers aren't used in the tests