-
Notifications
You must be signed in to change notification settings - Fork 23
/
vagga.yaml
272 lines (238 loc) · 6.74 KB
/
vagga.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
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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
commands:
make: !Command
description: Build tools
container: ubuntu
run: [cargo, build]
make-static: !Command
description: Build static executable
container: ubuntu
run: [cargo, build, --target=x86_64-unknown-linux-musl]
cargo: !Command
description: Run arbitrary cargo command
symlink-name: cargo
container: ubuntu
run: [cargo]
check: !Command
description: Run cargo check with all tests
symlink-name: cargo
container: ubuntu
run: [cargo, check, --tests, --all-features]
ncheck: !Command
description: Run cargo check on nightly
symlink-name: cargo
container: nightly
run: [cargo, rustc, "--", -Zmacro-backtrace]
expand: !Command
description: Print macro-expanded form for the crate
container: nightly
run: [cargo, expand]
test-rust: !Command
description: Run normal rust tests
container: ubuntu
run: [cargo, test]
environ:
# to many threads make interactive tests fail
RUST_TEST_THREADS: 4
test-musl: !Command
description: Run musl (docker) tests
container: ubuntu
run: [cargo, test, --target=x86_64-unknown-linux-musl]
environ:
DOCKER_HOST: unix:///var/docker.sock
volumes:
/var/docker.sock: !BindRW /volumes/docker.sock
test-nightly: !Command
description: Run github nightly tests
container: ubuntu
run:
- cargo
- test
- --target=x86_64-unknown-linux-musl
- --test=github-nightly
- --features=github_nightly
environ:
DOCKER_HOST: unix:///var/docker.sock
DOCKER_VOLUME_PATH: /run/docker.sock
RUST_TEST_THREADS: 1
volumes:
/var/docker.sock: !BindRW /volumes/docker.sock
test-portable: !Command
description: Run portable package tests in docker
container: ubuntu
run:
- cargo
- test
- --features=docker_test_wrapper,portable_tests
- --test=docker_test_wrapper
environ:
DOCKER_HOST: unix:///var/docker.sock
volumes:
/var/docker.sock: !BindRW /volumes/docker.sock
test-gh: !Command
description: Run github action tests
container: ubuntu
external-user-id: 0
user-id: 1000
run:
- cargo
- test
- --target=x86_64-unknown-linux-musl
- --test=github-actions
- --features=github_action_install
environ:
HOME: /tmp/home
CARGO_HOME: /work/target/.cargo
volumes:
/tmp: !Tmpfs
size: 1Gi
test-shared: !Command
description: Run shared client test cases
container: ubuntu
external-user-id: 0
user-id: 1000
run:
- cargo
- test
- --test=shared_client_tests
environ:
RUST_TEST_THREADS: 1
volumes:
/home: !Tmpfs
size: 100Mi
subdirs:
edgedb:
edgedb/test:
test: !Command
description: Run all the tests
container: ubuntu
prerequisites: [test-rust, test-musl, test-shared]
run: [echo, Ok]
repl: !Command
description: Run edgedb repl
container: ubuntu
run: [cargo, run, --bin, edgedb, --features=dev_mode, '--', -I_localdev]
environ:
#_EDGEDB_ANALYZE_DEBUG_PLAN: true
repl-release: !Command
description: Run edgedb repl
container: ubuntu
run: [cargo, run, --release, --bin, edgedb, --features=dev_mode, '--']
repl-local: !Command
description: Run edgedb repl to locally run edgdeb
container: ubuntu
run: [cargo, run, --bin, edgedb, --features=dev_mode, '--']
server: !Command
description: Run edgedb server command
container: ubuntu
write-mode: transient-hard-link-copy
run: [cargo, run, --bin, edgedb, '--', server]
ubuntu-bash: !Command
description: Run edgedb server command
container: ubuntu
write-mode: transient-hard-link-copy
run: [bash]
tree: !Command
description: Run tree tool
container: ubuntu
run: [cargo, tree]
outdated: !Command
description: Run outdated tool
container: tools
run: [cargo, outdated]
audit: !Command
description: Run audit tool
container: tools
run: [cargo, audit]
bloat: !Command
description: Run cargo bloat tool
container: tools
run: [cargo, bloat]
containers:
ubuntu:
setup:
- !Ubuntu jammy
- !UbuntuUniverse
- !Install
- ca-certificates
- git
- build-essential
- vim
- less # as pager for repl
- musl-tools
- zlib1g-dev
# for cargo geiger
- libssl-dev
- pkg-config
# for tests
- docker.io
- curl
- !TarInstall
url: "https://static.rust-lang.org/dist/rust-1.65.0-x86_64-unknown-linux-gnu.tar.gz"
script: "./install.sh --prefix=/usr \
--components=rustc,rust-std-x86_64-unknown-linux-gnu,cargo"
- !TarInstall
url: "https://static.rust-lang.org/dist/rust-std-1.65.0-x86_64-unknown-linux-musl.tar.gz"
script: "./install.sh --prefix=/musl \
--components=rust-std-x86_64-unknown-linux-musl"
- !Env RUSTFLAGS: -g
- !Sh 'ln -s /musl/lib/rustlib/x86_64-unknown-linux-musl /usr/lib/rustlib/x86_64-unknown-linux-musl'
# edgedb itself for tests
- !Sh |
addgroup --system --gid 200 postgres
adduser --uid 200 --system --home /data --no-create-home \
--shell /bin/bash --group --gecos "PostgreSQL administrator" \
postgres
- !UbuntuRepo
url: https://packages.edgedb.com/apt
suite: jammy
components: [testing]
trusted: true
- !Install [edgedb-server-3-alpha2]
- !Text
/var/docker.sock: ""
volumes:
/tmp: !Tmpfs
size: 2G
environ: &environ
HOME: /work/tmp
CARGO_HOME: /work/target
RUST_BACKTRACE: 1
# needed for musl build
PATH: /musl/bin:/usr/local/bin:/usr/bin:/bin
LD_LIBRARY_PATH: /musl/lib/rustlib/x86_64-unknown-linux-musl/lib
PSQL_DEFAULT_PATH: /usr/lib/x86_64-linux-gnu/edgedb-server-3-alpha2/bin
EDGEDB_MAJOR_VERSION: 3-alpha2
tools:
setup:
- !Container ubuntu
- !Sh 'cargo install cargo-audit cargo-outdated cargo-bloat --root=/usr'
environ: *environ
nightly:
setup:
- !Ubuntu jammy
- !UbuntuUniverse
- !Install
- ca-certificates
- git
- build-essential
- vim
- less # as pager for repl
- musl-tools
- zlib1g-dev
- !TarInstall
url: "https://static.rust-lang.org/dist/rust-nightly-x86_64-unknown-linux-gnu.tar.gz"
script: "./install.sh --prefix=/usr \
--components=rustc,rust-std-x86_64-unknown-linux-gnu,cargo"
- !Sh 'cargo install cargo-expand --root=/usr'
- !Env RUSTFLAGS: -g
volumes:
/tmp: !Tmpfs
size: 2G
environ: &environ
HOME: /work/target
CARGO_HOME: /work/target
RUST_BACKTRACE: 1
test_install:
setup:
- !Ubuntu focal
- !Install [ca-certificates, curl]