-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile
More file actions
646 lines (553 loc) · 48.2 KB
/
Dockerfile
File metadata and controls
646 lines (553 loc) · 48.2 KB
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
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
FROM ocaml/opam:ubuntu-24.04-opam AS base
RUN <<End-of-Script
sudo apt-get update -y
sudo apt-get install -y gawk autoconf2.69 vim
End-of-Script
RUN <<End-of-Script
# Global Git configuration
git config --global user.name 'David Allsopp'
git config --global user.email 'david.allsopp@metastack.com'
git config --global protocol.file.allow always
# Clone relocatable
git clone https://github.com/dra27/relocatable.git
# Clone ocaml
cd relocatable
git submodule update --init ocaml
cd ocaml
git remote add --fetch upstream https://github.com/ocaml/ocaml.git
# Configure Git
# Explicitly set user.name and user.email (for reproducibility)
git config --local user.name 'David Allsopp'
git config --local user.email 'david.allsopp@metastack.com'
# Ensure the normal merge style is in effect or rerere doesn't appear to work!
git config --local merge.conflictstyle merge
# Enable rerere with ~10 year retention of resolutions
git config --local rerere.enabled true
git config --local gc.rerereResolved 3650
# Speed up reconfiguration stage by sharing config.status
git config --local ocaml.configure-cache ..
# Necessary for some of the more complicated rebasing
git config --local merge.renameLimit 150000
# Set-up the pre-commit githook
# Require ocaml/ocaml#14050
git show origin/pre-commit:tools/pre-commit-githook | sed -e '/If any/iexit $STATUS' > ../.git/modules/ocaml/hooks/pre-commit
chmod +x ../.git/modules/ocaml/hooks/pre-commit
git checkout relocatable-locks
End-of-Script
FROM base AS builder
RUN <<End-of-Script
git clone --shared relocatable build
cd build
git submodule init ocaml
git clone /home/opam/relocatable/ocaml --shared --no-checkout .git/modules/ocaml
mv .git/modules/ocaml/.git/* .git/modules/ocaml/
rmdir .git/modules/ocaml/.git
cp ../relocatable/.git/modules/ocaml/hooks/pre-commit .git/modules/ocaml/hooks/
git submodule update ocaml
cd ocaml
git remote set-url origin https://github.com/dra27/ocaml.git
git remote add --fetch upstream https://github.com/ocaml/ocaml.git
# Configure Git
# Explicitly set user.name and user.email (for reproducibility)
git config --local user.name 'David Allsopp'
git config --local user.email 'david.allsopp@metastack.com'
# Ensure the normal merge style is in effect or rerere doesn't appear to work!
git config --local merge.conflictstyle merge
# Enable rerere with ~10 year retention of resolutions
git config --local rerere.enabled true
git config --local gc.rerereResolved 3650
# Speed up reconfiguration stage by sharing config.status
git config --local ocaml.configure-cache ..
# Necessary for some of the more complicated rebasing
git config --local merge.renameLimit 150000
End-of-Script
WORKDIR /home/opam/build/ocaml
FROM builder AS lock-ef758648dd
RUN test -n "$(git branch relocatable-locks --contains 'ef758648dd' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack ef758648dd || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack ef758648dd || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-b026116679
RUN test -n "$(git branch relocatable-locks --contains 'b026116679' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack b026116679 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack b026116679 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-511e988096
RUN test -n "$(git branch relocatable-locks --contains '511e988096' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 511e988096 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 511e988096 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-d2939babd4
RUN test -n "$(git branch relocatable-locks --contains 'd2939babd4' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack d2939babd4 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack d2939babd4 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-be8c62d74b
RUN test -n "$(git branch relocatable-locks --contains 'be8c62d74b' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack be8c62d74b || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack be8c62d74b || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-c007288549
RUN test -n "$(git branch relocatable-locks --contains 'c007288549' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack c007288549 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack c007288549 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-061acc735f
RUN test -n "$(git branch relocatable-locks --contains '061acc735f' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 061acc735f || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 061acc735f || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-9cb60e14d4
RUN test -n "$(git branch relocatable-locks --contains '9cb60e14d4' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 9cb60e14d4 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 9cb60e14d4 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-54d34a7a07
RUN test -n "$(git branch relocatable-locks --contains '54d34a7a07' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 54d34a7a07 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 54d34a7a07 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM base AS collector-00
COPY --chown=opam:opam --from=lock-ef758648dd /home/opam/build/.git/modules/ocaml builds/ef758648dd/.git
COPY --from=lock-ef758648dd /home/opam/build/log logs/log-ef758648dd
COPY --chown=opam:opam --from=lock-b026116679 /home/opam/build/.git/modules/ocaml builds/b026116679/.git
COPY --from=lock-b026116679 /home/opam/build/log logs/log-b026116679
COPY --chown=opam:opam --from=lock-511e988096 /home/opam/build/.git/modules/ocaml builds/511e988096/.git
COPY --from=lock-511e988096 /home/opam/build/log logs/log-511e988096
COPY --chown=opam:opam --from=lock-d2939babd4 /home/opam/build/.git/modules/ocaml builds/d2939babd4/.git
COPY --from=lock-d2939babd4 /home/opam/build/log logs/log-d2939babd4
COPY --chown=opam:opam --from=lock-be8c62d74b /home/opam/build/.git/modules/ocaml builds/be8c62d74b/.git
COPY --from=lock-be8c62d74b /home/opam/build/log logs/log-be8c62d74b
COPY --chown=opam:opam --from=lock-c007288549 /home/opam/build/.git/modules/ocaml builds/c007288549/.git
COPY --from=lock-c007288549 /home/opam/build/log logs/log-c007288549
COPY --chown=opam:opam --from=lock-061acc735f /home/opam/build/.git/modules/ocaml builds/061acc735f/.git
COPY --from=lock-061acc735f /home/opam/build/log logs/log-061acc735f
COPY --chown=opam:opam --from=lock-9cb60e14d4 /home/opam/build/.git/modules/ocaml builds/9cb60e14d4/.git
COPY --from=lock-9cb60e14d4 /home/opam/build/log logs/log-9cb60e14d4
COPY --chown=opam:opam --from=lock-54d34a7a07 /home/opam/build/.git/modules/ocaml builds/54d34a7a07/.git
COPY --from=lock-54d34a7a07 /home/opam/build/log logs/log-54d34a7a07
FROM builder AS lock-1fec8b02bf
RUN test -n "$(git branch relocatable-locks --contains '1fec8b02bf' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 1fec8b02bf || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 1fec8b02bf || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-68507ab524
RUN test -n "$(git branch relocatable-locks --contains '68507ab524' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 68507ab524 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 68507ab524 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-344465c433
RUN test -n "$(git branch relocatable-locks --contains '344465c433' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 344465c433 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 344465c433 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-9a16d2c854
RUN test -n "$(git branch relocatable-locks --contains '9a16d2c854' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 9a16d2c854 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 9a16d2c854 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-d5a626cfd4
RUN test -n "$(git branch relocatable-locks --contains 'd5a626cfd4' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack d5a626cfd4 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack d5a626cfd4 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-818afcc496
RUN test -n "$(git branch relocatable-locks --contains '818afcc496' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 818afcc496 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 818afcc496 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-727272c2ee
RUN test -n "$(git branch relocatable-locks --contains '727272c2ee' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 727272c2ee || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 727272c2ee || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-8d9989f22a
RUN test -n "$(git branch relocatable-locks --contains '8d9989f22a' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 8d9989f22a || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 8d9989f22a || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-032059697e
RUN test -n "$(git branch relocatable-locks --contains '032059697e' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 032059697e || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 032059697e || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM base AS collector-01
COPY --chown=opam:opam --from=lock-1fec8b02bf /home/opam/build/.git/modules/ocaml builds/1fec8b02bf/.git
COPY --from=lock-1fec8b02bf /home/opam/build/log logs/log-1fec8b02bf
COPY --chown=opam:opam --from=lock-68507ab524 /home/opam/build/.git/modules/ocaml builds/68507ab524/.git
COPY --from=lock-68507ab524 /home/opam/build/log logs/log-68507ab524
COPY --chown=opam:opam --from=lock-344465c433 /home/opam/build/.git/modules/ocaml builds/344465c433/.git
COPY --from=lock-344465c433 /home/opam/build/log logs/log-344465c433
COPY --chown=opam:opam --from=lock-9a16d2c854 /home/opam/build/.git/modules/ocaml builds/9a16d2c854/.git
COPY --from=lock-9a16d2c854 /home/opam/build/log logs/log-9a16d2c854
COPY --chown=opam:opam --from=lock-d5a626cfd4 /home/opam/build/.git/modules/ocaml builds/d5a626cfd4/.git
COPY --from=lock-d5a626cfd4 /home/opam/build/log logs/log-d5a626cfd4
COPY --chown=opam:opam --from=lock-818afcc496 /home/opam/build/.git/modules/ocaml builds/818afcc496/.git
COPY --from=lock-818afcc496 /home/opam/build/log logs/log-818afcc496
COPY --chown=opam:opam --from=lock-727272c2ee /home/opam/build/.git/modules/ocaml builds/727272c2ee/.git
COPY --from=lock-727272c2ee /home/opam/build/log logs/log-727272c2ee
COPY --chown=opam:opam --from=lock-8d9989f22a /home/opam/build/.git/modules/ocaml builds/8d9989f22a/.git
COPY --from=lock-8d9989f22a /home/opam/build/log logs/log-8d9989f22a
COPY --chown=opam:opam --from=lock-032059697e /home/opam/build/.git/modules/ocaml builds/032059697e/.git
COPY --from=lock-032059697e /home/opam/build/log logs/log-032059697e
FROM base AS collector-0
COPY --chown=opam:opam --from=collector-00 /home/opam/builds builds
COPY --chown=opam:opam --from=collector-00 /home/opam/logs logs
COPY --chown=opam:opam --from=collector-01 /home/opam/builds builds
COPY --chown=opam:opam --from=collector-01 /home/opam/logs logs
FROM builder AS lock-b3cef089c9
RUN test -n "$(git branch relocatable-locks --contains 'b3cef089c9' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack b3cef089c9 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack b3cef089c9 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-0dc23f3111
RUN test -n "$(git branch relocatable-locks --contains '0dc23f3111' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 0dc23f3111 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 0dc23f3111 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-af068161ce
RUN test -n "$(git branch relocatable-locks --contains 'af068161ce' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack af068161ce || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack af068161ce || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-240c86c340
RUN test -n "$(git branch relocatable-locks --contains '240c86c340' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 240c86c340 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 240c86c340 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-6370253918
RUN test -n "$(git branch relocatable-locks --contains '6370253918' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 6370253918 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 6370253918 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-c37031be15
RUN test -n "$(git branch relocatable-locks --contains 'c37031be15' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack c37031be15 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack c37031be15 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-a0c452bb00
RUN test -n "$(git branch relocatable-locks --contains 'a0c452bb00' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack a0c452bb00 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack a0c452bb00 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-a051f6e271
RUN test -n "$(git branch relocatable-locks --contains 'a051f6e271' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack a051f6e271 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack a051f6e271 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-c013d8555a
RUN test -n "$(git branch relocatable-locks --contains 'c013d8555a' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack c013d8555a || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack c013d8555a || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM base AS collector-10
COPY --chown=opam:opam --from=lock-b3cef089c9 /home/opam/build/.git/modules/ocaml builds/b3cef089c9/.git
COPY --from=lock-b3cef089c9 /home/opam/build/log logs/log-b3cef089c9
COPY --chown=opam:opam --from=lock-0dc23f3111 /home/opam/build/.git/modules/ocaml builds/0dc23f3111/.git
COPY --from=lock-0dc23f3111 /home/opam/build/log logs/log-0dc23f3111
COPY --chown=opam:opam --from=lock-af068161ce /home/opam/build/.git/modules/ocaml builds/af068161ce/.git
COPY --from=lock-af068161ce /home/opam/build/log logs/log-af068161ce
COPY --chown=opam:opam --from=lock-240c86c340 /home/opam/build/.git/modules/ocaml builds/240c86c340/.git
COPY --from=lock-240c86c340 /home/opam/build/log logs/log-240c86c340
COPY --chown=opam:opam --from=lock-6370253918 /home/opam/build/.git/modules/ocaml builds/6370253918/.git
COPY --from=lock-6370253918 /home/opam/build/log logs/log-6370253918
COPY --chown=opam:opam --from=lock-c37031be15 /home/opam/build/.git/modules/ocaml builds/c37031be15/.git
COPY --from=lock-c37031be15 /home/opam/build/log logs/log-c37031be15
COPY --chown=opam:opam --from=lock-a0c452bb00 /home/opam/build/.git/modules/ocaml builds/a0c452bb00/.git
COPY --from=lock-a0c452bb00 /home/opam/build/log logs/log-a0c452bb00
COPY --chown=opam:opam --from=lock-a051f6e271 /home/opam/build/.git/modules/ocaml builds/a051f6e271/.git
COPY --from=lock-a051f6e271 /home/opam/build/log logs/log-a051f6e271
COPY --chown=opam:opam --from=lock-c013d8555a /home/opam/build/.git/modules/ocaml builds/c013d8555a/.git
COPY --from=lock-c013d8555a /home/opam/build/log logs/log-c013d8555a
FROM builder AS lock-590e211336
RUN test -n "$(git branch relocatable-locks --contains '590e211336' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 590e211336 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 590e211336 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-b5aa73d89c
RUN test -n "$(git branch relocatable-locks --contains 'b5aa73d89c' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack b5aa73d89c || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack b5aa73d89c || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-ce46c921dd
RUN test -n "$(git branch relocatable-locks --contains 'ce46c921dd' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack ce46c921dd || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack ce46c921dd || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-f895ddd9f4
RUN test -n "$(git branch relocatable-locks --contains 'f895ddd9f4' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack f895ddd9f4 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack f895ddd9f4 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-de9840da14
RUN test -n "$(git branch relocatable-locks --contains 'de9840da14' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack de9840da14 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack de9840da14 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-b5537a0d19
RUN test -n "$(git branch relocatable-locks --contains 'b5537a0d19' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack b5537a0d19 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack b5537a0d19 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-6f3934b263
RUN test -n "$(git branch relocatable-locks --contains '6f3934b263' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 6f3934b263 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 6f3934b263 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-2bc5173018
RUN test -n "$(git branch relocatable-locks --contains '2bc5173018' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 2bc5173018 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 2bc5173018 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM builder AS lock-7a4aee5140
RUN test -n "$(git branch relocatable-locks --contains '7a4aee5140' 2>/dev/null)" || { git -C .. pull origin main && git fetch --multiple upstream origin && git checkout -B relocatable-locks origin/relocatable-locks ; }
RUN script --return --command '../stack 7a4aee5140 || { echo "STACK FAILURE"; rm -f ../.stack-state; git reset --hard HEAD; git clean -dfx &>/dev/null; }' ../log
RUN sed -i '/use_caching=/s/1/0/' ../stack
RUN script --return --append --command '../stack 7a4aee5140 || echo "STACK FAILURE"' ../log
RUN git gc --no-prune && sed -i -e '/worktree/d' ../.git/modules/ocaml/config
FROM base AS collector-11
COPY --chown=opam:opam --from=lock-590e211336 /home/opam/build/.git/modules/ocaml builds/590e211336/.git
COPY --from=lock-590e211336 /home/opam/build/log logs/log-590e211336
COPY --chown=opam:opam --from=lock-b5aa73d89c /home/opam/build/.git/modules/ocaml builds/b5aa73d89c/.git
COPY --from=lock-b5aa73d89c /home/opam/build/log logs/log-b5aa73d89c
COPY --chown=opam:opam --from=lock-ce46c921dd /home/opam/build/.git/modules/ocaml builds/ce46c921dd/.git
COPY --from=lock-ce46c921dd /home/opam/build/log logs/log-ce46c921dd
COPY --chown=opam:opam --from=lock-f895ddd9f4 /home/opam/build/.git/modules/ocaml builds/f895ddd9f4/.git
COPY --from=lock-f895ddd9f4 /home/opam/build/log logs/log-f895ddd9f4
COPY --chown=opam:opam --from=lock-de9840da14 /home/opam/build/.git/modules/ocaml builds/de9840da14/.git
COPY --from=lock-de9840da14 /home/opam/build/log logs/log-de9840da14
COPY --chown=opam:opam --from=lock-b5537a0d19 /home/opam/build/.git/modules/ocaml builds/b5537a0d19/.git
COPY --from=lock-b5537a0d19 /home/opam/build/log logs/log-b5537a0d19
COPY --chown=opam:opam --from=lock-6f3934b263 /home/opam/build/.git/modules/ocaml builds/6f3934b263/.git
COPY --from=lock-6f3934b263 /home/opam/build/log logs/log-6f3934b263
COPY --chown=opam:opam --from=lock-2bc5173018 /home/opam/build/.git/modules/ocaml builds/2bc5173018/.git
COPY --from=lock-2bc5173018 /home/opam/build/log logs/log-2bc5173018
COPY --chown=opam:opam --from=lock-7a4aee5140 /home/opam/build/.git/modules/ocaml builds/7a4aee5140/.git
COPY --from=lock-7a4aee5140 /home/opam/build/log logs/log-7a4aee5140
FROM base AS collector-1
COPY --chown=opam:opam --from=collector-10 /home/opam/builds builds
COPY --chown=opam:opam --from=collector-10 /home/opam/logs logs
COPY --chown=opam:opam --from=collector-11 /home/opam/builds builds
COPY --chown=opam:opam --from=collector-11 /home/opam/logs logs
FROM base AS collector
COPY --chown=opam:opam --from=collector-0 /home/opam/builds builds
COPY --chown=opam:opam --from=collector-0 /home/opam/logs logs
COPY --chown=opam:opam --from=collector-1 /home/opam/builds builds
COPY --chown=opam:opam --from=collector-1 /home/opam/logs logs
FROM collector AS reflog
RUN <<End-of-Script
for lock in ef758648dd b026116679 511e988096 d2939babd4 be8c62d74b c007288549 061acc735f 9cb60e14d4 54d34a7a07 1fec8b02bf 68507ab524 344465c433 9a16d2c854 d5a626cfd4 818afcc496 727272c2ee 8d9989f22a 032059697e b3cef089c9 0dc23f3111 af068161ce 240c86c340 6370253918 c37031be15 a0c452bb00 a051f6e271 c013d8555a 590e211336 b5aa73d89c ce46c921dd f895ddd9f4 de9840da14 b5537a0d19 6f3934b263 2bc5173018 7a4aee5140; do
cat builds/$lock/.git/logs/HEAD
done > HEAD
End-of-Script
FROM base AS unified
COPY --chown=opam:opam --from=collector /home/opam/builds builds
COPY --chown=opam:opam --from=collector /home/opam/logs logs
COPY --from=reflog /home/opam/HEAD .
RUN cat HEAD >> relocatable/.git/modules/ocaml/logs/HEAD && rm -f HEAD
COPY <<EOF relocatable/.git/modules/ocaml/objects/info/alternates
/home/opam/builds/ef758648dd/.git/objects
/home/opam/builds/b026116679/.git/objects
/home/opam/builds/511e988096/.git/objects
/home/opam/builds/d2939babd4/.git/objects
/home/opam/builds/be8c62d74b/.git/objects
/home/opam/builds/c007288549/.git/objects
/home/opam/builds/061acc735f/.git/objects
/home/opam/builds/9cb60e14d4/.git/objects
/home/opam/builds/54d34a7a07/.git/objects
/home/opam/builds/1fec8b02bf/.git/objects
/home/opam/builds/68507ab524/.git/objects
/home/opam/builds/344465c433/.git/objects
/home/opam/builds/9a16d2c854/.git/objects
/home/opam/builds/d5a626cfd4/.git/objects
/home/opam/builds/818afcc496/.git/objects
/home/opam/builds/727272c2ee/.git/objects
/home/opam/builds/8d9989f22a/.git/objects
/home/opam/builds/032059697e/.git/objects
/home/opam/builds/b3cef089c9/.git/objects
/home/opam/builds/0dc23f3111/.git/objects
/home/opam/builds/af068161ce/.git/objects
/home/opam/builds/240c86c340/.git/objects
/home/opam/builds/6370253918/.git/objects
/home/opam/builds/c37031be15/.git/objects
/home/opam/builds/a0c452bb00/.git/objects
/home/opam/builds/a051f6e271/.git/objects
/home/opam/builds/c013d8555a/.git/objects
/home/opam/builds/590e211336/.git/objects
/home/opam/builds/b5aa73d89c/.git/objects
/home/opam/builds/ce46c921dd/.git/objects
/home/opam/builds/f895ddd9f4/.git/objects
/home/opam/builds/de9840da14/.git/objects
/home/opam/builds/b5537a0d19/.git/objects
/home/opam/builds/6f3934b263/.git/objects
/home/opam/builds/2bc5173018/.git/objects
/home/opam/builds/7a4aee5140/.git/objects
EOF
WORKDIR /home/opam/relocatable/ocaml
RUN <<End-of-Script
cat >> rebuild <<"EOF"
head="$(git -C ../../builds/ef758648dd rev-parse --short relocatable-cache)"
for lock in b026116679 511e988096 d2939babd4 be8c62d74b c007288549 061acc735f 9cb60e14d4 54d34a7a07 1fec8b02bf 68507ab524 344465c433 9a16d2c854 d5a626cfd4 818afcc496 727272c2ee 8d9989f22a 032059697e b3cef089c9 0dc23f3111 af068161ce 240c86c340 6370253918 c37031be15 a0c452bb00 a051f6e271 c013d8555a 590e211336 b5aa73d89c ce46c921dd f895ddd9f4 de9840da14 b5537a0d19 6f3934b263 2bc5173018 7a4aee5140; do
while IFS= read -r line; do
args=($line)
if [[ ${#args[@]} -gt 2 ]]; then
parents=("${args[@]:3}")
head=$(git show --no-patch --format=%B ${args[0]} | git commit-tree -p $head ${parents[@]/#/-p } ${args[1]})
fi
done < <(git -C ../../builds/$lock log --format='%h %t %p' --first-parent --reverse relocatable-cache)
done
git branch relocatable-cache $head
EOF
bash rebuild
rm rebuild
End-of-Script
FROM unified AS cache-test-ef758648dd
RUN { git merge-base --is-ancestor ef758648dd relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack ef758648dd" ../log
FROM unified AS cache-test-b026116679
RUN { git merge-base --is-ancestor b026116679 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack b026116679" ../log
FROM unified AS cache-test-511e988096
RUN { git merge-base --is-ancestor 511e988096 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 511e988096" ../log
FROM unified AS cache-test-d2939babd4
RUN { git merge-base --is-ancestor d2939babd4 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack d2939babd4" ../log
FROM unified AS cache-test-be8c62d74b
RUN { git merge-base --is-ancestor be8c62d74b relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack be8c62d74b" ../log
FROM unified AS cache-test-c007288549
RUN { git merge-base --is-ancestor c007288549 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack c007288549" ../log
FROM unified AS cache-test-061acc735f
RUN { git merge-base --is-ancestor 061acc735f relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 061acc735f" ../log
FROM unified AS cache-test-9cb60e14d4
RUN { git merge-base --is-ancestor 9cb60e14d4 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 9cb60e14d4" ../log
FROM unified AS cache-test-54d34a7a07
RUN { git merge-base --is-ancestor 54d34a7a07 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 54d34a7a07" ../log
FROM unified AS cache-test-1fec8b02bf
RUN { git merge-base --is-ancestor 1fec8b02bf relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 1fec8b02bf" ../log
FROM unified AS cache-test-68507ab524
RUN { git merge-base --is-ancestor 68507ab524 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 68507ab524" ../log
FROM unified AS cache-test-344465c433
RUN { git merge-base --is-ancestor 344465c433 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 344465c433" ../log
FROM unified AS cache-test-9a16d2c854
RUN { git merge-base --is-ancestor 9a16d2c854 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 9a16d2c854" ../log
FROM unified AS cache-test-d5a626cfd4
RUN { git merge-base --is-ancestor d5a626cfd4 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack d5a626cfd4" ../log
FROM unified AS cache-test-818afcc496
RUN { git merge-base --is-ancestor 818afcc496 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 818afcc496" ../log
FROM unified AS cache-test-727272c2ee
RUN { git merge-base --is-ancestor 727272c2ee relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 727272c2ee" ../log
FROM unified AS cache-test-8d9989f22a
RUN { git merge-base --is-ancestor 8d9989f22a relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 8d9989f22a" ../log
FROM unified AS cache-test-032059697e
RUN { git merge-base --is-ancestor 032059697e relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 032059697e" ../log
FROM unified AS cache-test-b3cef089c9
RUN { git merge-base --is-ancestor b3cef089c9 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack b3cef089c9" ../log
FROM unified AS cache-test-0dc23f3111
RUN { git merge-base --is-ancestor 0dc23f3111 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 0dc23f3111" ../log
FROM unified AS cache-test-af068161ce
RUN { git merge-base --is-ancestor af068161ce relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack af068161ce" ../log
FROM unified AS cache-test-240c86c340
RUN { git merge-base --is-ancestor 240c86c340 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 240c86c340" ../log
FROM unified AS cache-test-6370253918
RUN { git merge-base --is-ancestor 6370253918 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 6370253918" ../log
FROM unified AS cache-test-c37031be15
RUN { git merge-base --is-ancestor c37031be15 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack c37031be15" ../log
FROM unified AS cache-test-a0c452bb00
RUN { git merge-base --is-ancestor a0c452bb00 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack a0c452bb00" ../log
FROM unified AS cache-test-a051f6e271
RUN { git merge-base --is-ancestor a051f6e271 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack a051f6e271" ../log
FROM unified AS cache-test-c013d8555a
RUN { git merge-base --is-ancestor c013d8555a relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack c013d8555a" ../log
FROM unified AS cache-test-590e211336
RUN { git merge-base --is-ancestor 590e211336 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 590e211336" ../log
FROM unified AS cache-test-b5aa73d89c
RUN { git merge-base --is-ancestor b5aa73d89c relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack b5aa73d89c" ../log
FROM unified AS cache-test-ce46c921dd
RUN { git merge-base --is-ancestor ce46c921dd relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack ce46c921dd" ../log
FROM unified AS cache-test-f895ddd9f4
RUN { git merge-base --is-ancestor f895ddd9f4 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack f895ddd9f4" ../log
FROM unified AS cache-test-de9840da14
RUN { git merge-base --is-ancestor de9840da14 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack de9840da14" ../log
FROM unified AS cache-test-b5537a0d19
RUN { git merge-base --is-ancestor b5537a0d19 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack b5537a0d19" ../log
FROM unified AS cache-test-6f3934b263
RUN { git merge-base --is-ancestor 6f3934b263 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 6f3934b263" ../log
FROM unified AS cache-test-2bc5173018
RUN { git merge-base --is-ancestor 2bc5173018 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 2bc5173018" ../log
FROM unified AS cache-test-7a4aee5140
RUN { git merge-base --is-ancestor 7a4aee5140 relocatable-locks || { git fetch origin && git checkout -B relocatable-locks origin/relocatable-locks; } } && script --return --command "../stack 7a4aee5140" ../log
FROM unified AS collected-logs
COPY --from=cache-test-ef758648dd /home/opam/relocatable/log combined-ef758648dd
COPY --from=cache-test-b026116679 /home/opam/relocatable/log combined-b026116679
COPY --from=cache-test-511e988096 /home/opam/relocatable/log combined-511e988096
COPY --from=cache-test-d2939babd4 /home/opam/relocatable/log combined-d2939babd4
COPY --from=cache-test-be8c62d74b /home/opam/relocatable/log combined-be8c62d74b
COPY --from=cache-test-c007288549 /home/opam/relocatable/log combined-c007288549
COPY --from=cache-test-061acc735f /home/opam/relocatable/log combined-061acc735f
COPY --from=cache-test-9cb60e14d4 /home/opam/relocatable/log combined-9cb60e14d4
COPY --from=cache-test-54d34a7a07 /home/opam/relocatable/log combined-54d34a7a07
COPY --from=cache-test-1fec8b02bf /home/opam/relocatable/log combined-1fec8b02bf
COPY --from=cache-test-68507ab524 /home/opam/relocatable/log combined-68507ab524
COPY --from=cache-test-344465c433 /home/opam/relocatable/log combined-344465c433
COPY --from=cache-test-9a16d2c854 /home/opam/relocatable/log combined-9a16d2c854
COPY --from=cache-test-d5a626cfd4 /home/opam/relocatable/log combined-d5a626cfd4
COPY --from=cache-test-818afcc496 /home/opam/relocatable/log combined-818afcc496
COPY --from=cache-test-727272c2ee /home/opam/relocatable/log combined-727272c2ee
COPY --from=cache-test-8d9989f22a /home/opam/relocatable/log combined-8d9989f22a
COPY --from=cache-test-032059697e /home/opam/relocatable/log combined-032059697e
COPY --from=cache-test-b3cef089c9 /home/opam/relocatable/log combined-b3cef089c9
COPY --from=cache-test-0dc23f3111 /home/opam/relocatable/log combined-0dc23f3111
COPY --from=cache-test-af068161ce /home/opam/relocatable/log combined-af068161ce
COPY --from=cache-test-240c86c340 /home/opam/relocatable/log combined-240c86c340
COPY --from=cache-test-6370253918 /home/opam/relocatable/log combined-6370253918
COPY --from=cache-test-c37031be15 /home/opam/relocatable/log combined-c37031be15
COPY --from=cache-test-a0c452bb00 /home/opam/relocatable/log combined-a0c452bb00
COPY --from=cache-test-a051f6e271 /home/opam/relocatable/log combined-a051f6e271
COPY --from=cache-test-c013d8555a /home/opam/relocatable/log combined-c013d8555a
COPY --from=cache-test-590e211336 /home/opam/relocatable/log combined-590e211336
COPY --from=cache-test-b5aa73d89c /home/opam/relocatable/log combined-b5aa73d89c
COPY --from=cache-test-ce46c921dd /home/opam/relocatable/log combined-ce46c921dd
COPY --from=cache-test-f895ddd9f4 /home/opam/relocatable/log combined-f895ddd9f4
COPY --from=cache-test-de9840da14 /home/opam/relocatable/log combined-de9840da14
COPY --from=cache-test-b5537a0d19 /home/opam/relocatable/log combined-b5537a0d19
COPY --from=cache-test-6f3934b263 /home/opam/relocatable/log combined-6f3934b263
COPY --from=cache-test-2bc5173018 /home/opam/relocatable/log combined-2bc5173018
COPY --from=cache-test-7a4aee5140 /home/opam/relocatable/log combined-7a4aee5140
RUN cat combined-ef758648dd combined-b026116679 combined-511e988096 combined-d2939babd4 combined-be8c62d74b combined-c007288549 combined-061acc735f combined-9cb60e14d4 combined-54d34a7a07 combined-1fec8b02bf combined-68507ab524 combined-344465c433 combined-9a16d2c854 combined-d5a626cfd4 combined-818afcc496 combined-727272c2ee combined-8d9989f22a combined-032059697e combined-b3cef089c9 combined-0dc23f3111 combined-af068161ce combined-240c86c340 combined-6370253918 combined-c37031be15 combined-a0c452bb00 combined-a051f6e271 combined-c013d8555a combined-590e211336 combined-b5aa73d89c combined-ce46c921dd combined-f895ddd9f4 combined-de9840da14 combined-b5537a0d19 combined-6f3934b263 combined-2bc5173018 combined-7a4aee5140 > combined
FROM unified
COPY --from=collected-logs /home/opam/relocatable/ocaml/combined ../../logs/combined
COPY <<EOF ../../all-locks
ef758648dd b026116679 511e988096 d2939babd4 be8c62d74b c007288549 061acc735f 9cb60e14d4 54d34a7a07 1fec8b02bf 68507ab524 344465c433 9a16d2c854 d5a626cfd4 818afcc496 727272c2ee 8d9989f22a 032059697e b3cef089c9 0dc23f3111 af068161ce 240c86c340 6370253918 c37031be15 a0c452bb00 a051f6e271 c013d8555a 590e211336 b5aa73d89c ce46c921dd f895ddd9f4 de9840da14 b5537a0d19 6f3934b263 2bc5173018 7a4aee5140
EOF