rake-compiler-dock 1.10.0 → 1.11.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,114 +1,885 @@
1
+ # This file is generated. Please edit publish-images.yml.erb instead!
2
+
3
+
1
4
  name: Release docker images to GHCR
5
+ #
6
+ # This workflow assumes the maintainer has chosen the appropriate tag in the workflow dispatch UI.
7
+ #
8
+ on:
9
+ workflow_dispatch:
10
+ inputs:
11
+ tag:
12
+ description: "Tag name to release"
13
+ required: true
14
+
15
+
16
+
2
17
  concurrency:
3
18
  group: "${{github.workflow}}-${{github.ref}}"
4
19
  cancel-in-progress: true
5
20
 
6
- #
7
- # This workflow assumes the maintainer has chosen the appropriate tag in the workflow dispatch UI.
8
- #
9
- on:
10
- workflow_dispatch:
11
- inputs:
12
- tag:
13
- description: "Tag name to release"
14
- required: true
21
+ jobs:
22
+
23
+ aarch64-linux-musl:
24
+ name: "build aarch64-linux-musl ${{ matrix.os }}"
25
+ needs: common-7f790bc
26
+ strategy:
27
+ fail-fast: false
28
+ matrix:
29
+ os:
30
+ - ubuntu-latest
31
+ - ubuntu-24.04-arm
32
+ runs-on: ${{ matrix.os }}
33
+ steps:
34
+ - uses: actions/checkout@v4
35
+
36
+ with:
37
+ ref: ${{ inputs.tag }}
38
+
39
+ - uses: ruby/setup-ruby@v1
40
+ with:
41
+ ruby-version: "3.4"
42
+ bundler-cache: true
43
+
44
+ - name: Fetch docker buildx layer cache
45
+ uses: actions/cache@v4
46
+ with:
47
+ path: tmp/build-cache-${{ runner.arch }}
48
+ key: ${{ runner.os }}-on-${{ runner.arch }}-aarch64-linux-musl-${{ github.sha }}
49
+ restore-keys: |
50
+ ${{ runner.os }}-on-${{ runner.arch }}-aarch64-linux-musl
51
+ ${{ runner.os }}-on-${{ runner.arch }}-common-7f790bc
52
+ enableCrossOsArchive: true
53
+ - name: Build the image layers aarch64-linux-musl on ${{ runner.arch }}
54
+ env:
55
+ RCD_TASK_DEPENDENCIES: "false"
56
+ run: |
57
+ # Change docker to a cache-able driver
58
+ docker buildx create --driver docker-container --use
59
+ bundle exec rake build:common-723ac6e RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
60
+ - name: Update and prune docker buildx layer cache
61
+ run: |
62
+ rm -rf tmp/build-cache-${{ runner.arch }}
63
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
64
+
65
+ common-7f790bc:
66
+ name: "build common-7f790bc ${{ matrix.os }}"
67
+ needs: common-8c26987
68
+ strategy:
69
+ fail-fast: false
70
+ matrix:
71
+ os:
72
+ - ubuntu-latest
73
+ - ubuntu-24.04-arm
74
+ runs-on: ${{ matrix.os }}
75
+ steps:
76
+ - uses: actions/checkout@v4
77
+
78
+ with:
79
+ ref: ${{ inputs.tag }}
80
+
81
+ - uses: ruby/setup-ruby@v1
82
+ with:
83
+ ruby-version: "3.4"
84
+ bundler-cache: true
85
+
86
+ - name: Fetch docker buildx layer cache
87
+ uses: actions/cache@v4
88
+ with:
89
+ path: tmp/build-cache-${{ runner.arch }}
90
+ key: ${{ runner.os }}-on-${{ runner.arch }}-common-7f790bc-${{ github.sha }}
91
+ restore-keys: |
92
+ ${{ runner.os }}-on-${{ runner.arch }}-common-7f790bc
93
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987
94
+ enableCrossOsArchive: true
95
+ - name: Build the image layers common-7f790bc on ${{ runner.arch }}
96
+ env:
97
+ RCD_TASK_DEPENDENCIES: "false"
98
+ run: |
99
+ # Change docker to a cache-able driver
100
+ docker buildx create --driver docker-container --use
101
+ bundle exec rake build:common-7f790bc RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
102
+ - name: Update and prune docker buildx layer cache
103
+ run: |
104
+ rm -rf tmp/build-cache-${{ runner.arch }}
105
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
106
+
107
+ arm-linux-musl:
108
+ name: "build arm-linux-musl ${{ matrix.os }}"
109
+ needs: common-7f790bc
110
+ strategy:
111
+ fail-fast: false
112
+ matrix:
113
+ os:
114
+ - ubuntu-latest
115
+ - ubuntu-24.04-arm
116
+ runs-on: ${{ matrix.os }}
117
+ steps:
118
+ - uses: actions/checkout@v4
119
+
120
+ with:
121
+ ref: ${{ inputs.tag }}
122
+
123
+ - uses: ruby/setup-ruby@v1
124
+ with:
125
+ ruby-version: "3.4"
126
+ bundler-cache: true
127
+
128
+ - name: Fetch docker buildx layer cache
129
+ uses: actions/cache@v4
130
+ with:
131
+ path: tmp/build-cache-${{ runner.arch }}
132
+ key: ${{ runner.os }}-on-${{ runner.arch }}-arm-linux-musl-${{ github.sha }}
133
+ restore-keys: |
134
+ ${{ runner.os }}-on-${{ runner.arch }}-arm-linux-musl
135
+ ${{ runner.os }}-on-${{ runner.arch }}-common-7f790bc
136
+ enableCrossOsArchive: true
137
+ - name: Build the image layers arm-linux-musl on ${{ runner.arch }}
138
+ env:
139
+ RCD_TASK_DEPENDENCIES: "false"
140
+ run: |
141
+ # Change docker to a cache-able driver
142
+ docker buildx create --driver docker-container --use
143
+ bundle exec rake build:common-fbc527a RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
144
+ - name: Update and prune docker buildx layer cache
145
+ run: |
146
+ rm -rf tmp/build-cache-${{ runner.arch }}
147
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
148
+
149
+ x86-linux-musl:
150
+ name: "build x86-linux-musl ${{ matrix.os }}"
151
+ needs: common-7f790bc
152
+ strategy:
153
+ fail-fast: false
154
+ matrix:
155
+ os:
156
+ - ubuntu-latest
157
+ - ubuntu-24.04-arm
158
+ runs-on: ${{ matrix.os }}
159
+ steps:
160
+ - uses: actions/checkout@v4
161
+
162
+ with:
163
+ ref: ${{ inputs.tag }}
164
+
165
+ - uses: ruby/setup-ruby@v1
166
+ with:
167
+ ruby-version: "3.4"
168
+ bundler-cache: true
169
+
170
+ - name: Fetch docker buildx layer cache
171
+ uses: actions/cache@v4
172
+ with:
173
+ path: tmp/build-cache-${{ runner.arch }}
174
+ key: ${{ runner.os }}-on-${{ runner.arch }}-x86-linux-musl-${{ github.sha }}
175
+ restore-keys: |
176
+ ${{ runner.os }}-on-${{ runner.arch }}-x86-linux-musl
177
+ ${{ runner.os }}-on-${{ runner.arch }}-common-7f790bc
178
+ enableCrossOsArchive: true
179
+ - name: Build the image layers x86-linux-musl on ${{ runner.arch }}
180
+ env:
181
+ RCD_TASK_DEPENDENCIES: "false"
182
+ run: |
183
+ # Change docker to a cache-able driver
184
+ docker buildx create --driver docker-container --use
185
+ bundle exec rake build:common-63da253 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
186
+ - name: Update and prune docker buildx layer cache
187
+ run: |
188
+ rm -rf tmp/build-cache-${{ runner.arch }}
189
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
190
+
191
+ x86_64-linux-musl:
192
+ name: "build x86_64-linux-musl ${{ matrix.os }}"
193
+ needs: common-7f790bc
194
+ strategy:
195
+ fail-fast: false
196
+ matrix:
197
+ os:
198
+ - ubuntu-latest
199
+ - ubuntu-24.04-arm
200
+ runs-on: ${{ matrix.os }}
201
+ steps:
202
+ - uses: actions/checkout@v4
203
+
204
+ with:
205
+ ref: ${{ inputs.tag }}
206
+
207
+ - uses: ruby/setup-ruby@v1
208
+ with:
209
+ ruby-version: "3.4"
210
+ bundler-cache: true
211
+
212
+ - name: Fetch docker buildx layer cache
213
+ uses: actions/cache@v4
214
+ with:
215
+ path: tmp/build-cache-${{ runner.arch }}
216
+ key: ${{ runner.os }}-on-${{ runner.arch }}-x86_64-linux-musl-${{ github.sha }}
217
+ restore-keys: |
218
+ ${{ runner.os }}-on-${{ runner.arch }}-x86_64-linux-musl
219
+ ${{ runner.os }}-on-${{ runner.arch }}-common-7f790bc
220
+ enableCrossOsArchive: true
221
+ - name: Build the image layers x86_64-linux-musl on ${{ runner.arch }}
222
+ env:
223
+ RCD_TASK_DEPENDENCIES: "false"
224
+ run: |
225
+ # Change docker to a cache-able driver
226
+ docker buildx create --driver docker-container --use
227
+ bundle exec rake build:common-dc7239b RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
228
+ - name: Update and prune docker buildx layer cache
229
+ run: |
230
+ rm -rf tmp/build-cache-${{ runner.arch }}
231
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
232
+
233
+ arm64-darwin:
234
+ name: "build arm64-darwin ${{ matrix.os }}"
235
+ needs: common-d1f4370
236
+ strategy:
237
+ fail-fast: false
238
+ matrix:
239
+ os:
240
+ - ubuntu-latest
241
+ - ubuntu-24.04-arm
242
+ runs-on: ${{ matrix.os }}
243
+ steps:
244
+ - uses: actions/checkout@v4
245
+
246
+ with:
247
+ ref: ${{ inputs.tag }}
248
+
249
+ - uses: ruby/setup-ruby@v1
250
+ with:
251
+ ruby-version: "3.4"
252
+ bundler-cache: true
253
+
254
+ - name: Fetch docker buildx layer cache
255
+ uses: actions/cache@v4
256
+ with:
257
+ path: tmp/build-cache-${{ runner.arch }}
258
+ key: ${{ runner.os }}-on-${{ runner.arch }}-arm64-darwin-${{ github.sha }}
259
+ restore-keys: |
260
+ ${{ runner.os }}-on-${{ runner.arch }}-arm64-darwin
261
+ ${{ runner.os }}-on-${{ runner.arch }}-common-d1f4370
262
+ enableCrossOsArchive: true
263
+ - name: Build the image layers arm64-darwin on ${{ runner.arch }}
264
+ env:
265
+ RCD_TASK_DEPENDENCIES: "false"
266
+ run: |
267
+ # Change docker to a cache-able driver
268
+ docker buildx create --driver docker-container --use
269
+ bundle exec rake build:common-2829589 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
270
+ - name: Update and prune docker buildx layer cache
271
+ run: |
272
+ rm -rf tmp/build-cache-${{ runner.arch }}
273
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
274
+
275
+ common-d1f4370:
276
+ name: "build common-d1f4370 ${{ matrix.os }}"
277
+ needs: common-8c26987
278
+ strategy:
279
+ fail-fast: false
280
+ matrix:
281
+ os:
282
+ - ubuntu-latest
283
+ - ubuntu-24.04-arm
284
+ runs-on: ${{ matrix.os }}
285
+ steps:
286
+ - uses: actions/checkout@v4
287
+
288
+ with:
289
+ ref: ${{ inputs.tag }}
290
+
291
+ - uses: ruby/setup-ruby@v1
292
+ with:
293
+ ruby-version: "3.4"
294
+ bundler-cache: true
295
+
296
+ - name: Fetch docker buildx layer cache
297
+ uses: actions/cache@v4
298
+ with:
299
+ path: tmp/build-cache-${{ runner.arch }}
300
+ key: ${{ runner.os }}-on-${{ runner.arch }}-common-d1f4370-${{ github.sha }}
301
+ restore-keys: |
302
+ ${{ runner.os }}-on-${{ runner.arch }}-common-d1f4370
303
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987
304
+ enableCrossOsArchive: true
305
+ - name: Build the image layers common-d1f4370 on ${{ runner.arch }}
306
+ env:
307
+ RCD_TASK_DEPENDENCIES: "false"
308
+ run: |
309
+ # Change docker to a cache-able driver
310
+ docker buildx create --driver docker-container --use
311
+ bundle exec rake build:common-d1f4370 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
312
+ - name: Update and prune docker buildx layer cache
313
+ run: |
314
+ rm -rf tmp/build-cache-${{ runner.arch }}
315
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
316
+
317
+ x86_64-darwin:
318
+ name: "build x86_64-darwin ${{ matrix.os }}"
319
+ needs: common-d1f4370
320
+ strategy:
321
+ fail-fast: false
322
+ matrix:
323
+ os:
324
+ - ubuntu-latest
325
+ - ubuntu-24.04-arm
326
+ runs-on: ${{ matrix.os }}
327
+ steps:
328
+ - uses: actions/checkout@v4
329
+
330
+ with:
331
+ ref: ${{ inputs.tag }}
332
+
333
+ - uses: ruby/setup-ruby@v1
334
+ with:
335
+ ruby-version: "3.4"
336
+ bundler-cache: true
337
+
338
+ - name: Fetch docker buildx layer cache
339
+ uses: actions/cache@v4
340
+ with:
341
+ path: tmp/build-cache-${{ runner.arch }}
342
+ key: ${{ runner.os }}-on-${{ runner.arch }}-x86_64-darwin-${{ github.sha }}
343
+ restore-keys: |
344
+ ${{ runner.os }}-on-${{ runner.arch }}-x86_64-darwin
345
+ ${{ runner.os }}-on-${{ runner.arch }}-common-d1f4370
346
+ enableCrossOsArchive: true
347
+ - name: Build the image layers x86_64-darwin on ${{ runner.arch }}
348
+ env:
349
+ RCD_TASK_DEPENDENCIES: "false"
350
+ run: |
351
+ # Change docker to a cache-able driver
352
+ docker buildx create --driver docker-container --use
353
+ bundle exec rake build:common-bc54075 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
354
+ - name: Update and prune docker buildx layer cache
355
+ run: |
356
+ rm -rf tmp/build-cache-${{ runner.arch }}
357
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
358
+
359
+ aarch64-linux-gnu:
360
+ name: "build aarch64-linux-gnu ${{ matrix.os }}"
361
+ needs: common-8c26987
362
+ strategy:
363
+ fail-fast: false
364
+ matrix:
365
+ os:
366
+ - ubuntu-latest
367
+ - ubuntu-24.04-arm
368
+ runs-on: ${{ matrix.os }}
369
+ steps:
370
+ - uses: actions/checkout@v4
371
+
372
+ with:
373
+ ref: ${{ inputs.tag }}
374
+
375
+ - uses: ruby/setup-ruby@v1
376
+ with:
377
+ ruby-version: "3.4"
378
+ bundler-cache: true
379
+
380
+ - name: Fetch docker buildx layer cache
381
+ uses: actions/cache@v4
382
+ with:
383
+ path: tmp/build-cache-${{ runner.arch }}
384
+ key: ${{ runner.os }}-on-${{ runner.arch }}-aarch64-linux-gnu-${{ github.sha }}
385
+ restore-keys: |
386
+ ${{ runner.os }}-on-${{ runner.arch }}-aarch64-linux-gnu
387
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987
388
+ enableCrossOsArchive: true
389
+ - name: Build the image layers aarch64-linux-gnu on ${{ runner.arch }}
390
+ env:
391
+ RCD_TASK_DEPENDENCIES: "false"
392
+ run: |
393
+ # Change docker to a cache-able driver
394
+ docker buildx create --driver docker-container --use
395
+ bundle exec rake build:common-b45d14a RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
396
+ - name: Update and prune docker buildx layer cache
397
+ run: |
398
+ rm -rf tmp/build-cache-${{ runner.arch }}
399
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
400
+
401
+ common-8c26987:
402
+ name: "build common-8c26987 ${{ matrix.os }}"
403
+ needs: common-8a6d861
404
+ strategy:
405
+ fail-fast: false
406
+ matrix:
407
+ os:
408
+ - ubuntu-latest
409
+ - ubuntu-24.04-arm
410
+ runs-on: ${{ matrix.os }}
411
+ steps:
412
+ - uses: actions/checkout@v4
413
+
414
+ with:
415
+ ref: ${{ inputs.tag }}
416
+
417
+ - uses: ruby/setup-ruby@v1
418
+ with:
419
+ ruby-version: "3.4"
420
+ bundler-cache: true
421
+
422
+ - name: Fetch docker buildx layer cache
423
+ uses: actions/cache@v4
424
+ with:
425
+ path: tmp/build-cache-${{ runner.arch }}
426
+ key: ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987-${{ github.sha }}
427
+ restore-keys: |
428
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987
429
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8a6d861
430
+ enableCrossOsArchive: true
431
+ - name: Build the image layers common-8c26987 on ${{ runner.arch }}
432
+ env:
433
+ RCD_TASK_DEPENDENCIES: "false"
434
+ run: |
435
+ # Change docker to a cache-able driver
436
+ docker buildx create --driver docker-container --use
437
+ bundle exec rake build:common-8c26987 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
438
+ - name: Update and prune docker buildx layer cache
439
+ run: |
440
+ rm -rf tmp/build-cache-${{ runner.arch }}
441
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
442
+
443
+ aarch64-mingw-ucrt:
444
+ name: "build aarch64-mingw-ucrt ${{ matrix.os }}"
445
+ needs: common-8c26987
446
+ strategy:
447
+ fail-fast: false
448
+ matrix:
449
+ os:
450
+ - ubuntu-latest
451
+ - ubuntu-24.04-arm
452
+ runs-on: ${{ matrix.os }}
453
+ steps:
454
+ - uses: actions/checkout@v4
455
+
456
+ with:
457
+ ref: ${{ inputs.tag }}
458
+
459
+ - uses: ruby/setup-ruby@v1
460
+ with:
461
+ ruby-version: "3.4"
462
+ bundler-cache: true
463
+
464
+ - name: Fetch docker buildx layer cache
465
+ uses: actions/cache@v4
466
+ with:
467
+ path: tmp/build-cache-${{ runner.arch }}
468
+ key: ${{ runner.os }}-on-${{ runner.arch }}-aarch64-mingw-ucrt-${{ github.sha }}
469
+ restore-keys: |
470
+ ${{ runner.os }}-on-${{ runner.arch }}-aarch64-mingw-ucrt
471
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987
472
+ enableCrossOsArchive: true
473
+ - name: Build the image layers aarch64-mingw-ucrt on ${{ runner.arch }}
474
+ env:
475
+ RCD_TASK_DEPENDENCIES: "false"
476
+ run: |
477
+ # Change docker to a cache-able driver
478
+ docker buildx create --driver docker-container --use
479
+ bundle exec rake build:common-2378386 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
480
+ - name: Update and prune docker buildx layer cache
481
+ run: |
482
+ rm -rf tmp/build-cache-${{ runner.arch }}
483
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
484
+
485
+ arm-linux-gnu:
486
+ name: "build arm-linux-gnu ${{ matrix.os }}"
487
+ needs: common-8c26987
488
+ strategy:
489
+ fail-fast: false
490
+ matrix:
491
+ os:
492
+ - ubuntu-latest
493
+ - ubuntu-24.04-arm
494
+ runs-on: ${{ matrix.os }}
495
+ steps:
496
+ - uses: actions/checkout@v4
497
+
498
+ with:
499
+ ref: ${{ inputs.tag }}
15
500
 
16
- jobs:
17
- build:
18
- name: "build ${{ inputs.tag }} ${{ matrix.platform }}"
501
+ - uses: ruby/setup-ruby@v1
502
+ with:
503
+ ruby-version: "3.4"
504
+ bundler-cache: true
505
+
506
+ - name: Fetch docker buildx layer cache
507
+ uses: actions/cache@v4
508
+ with:
509
+ path: tmp/build-cache-${{ runner.arch }}
510
+ key: ${{ runner.os }}-on-${{ runner.arch }}-arm-linux-gnu-${{ github.sha }}
511
+ restore-keys: |
512
+ ${{ runner.os }}-on-${{ runner.arch }}-arm-linux-gnu
513
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987
514
+ enableCrossOsArchive: true
515
+ - name: Build the image layers arm-linux-gnu on ${{ runner.arch }}
516
+ env:
517
+ RCD_TASK_DEPENDENCIES: "false"
518
+ run: |
519
+ # Change docker to a cache-able driver
520
+ docker buildx create --driver docker-container --use
521
+ bundle exec rake build:common-8fd4771 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
522
+ - name: Update and prune docker buildx layer cache
523
+ run: |
524
+ rm -rf tmp/build-cache-${{ runner.arch }}
525
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
526
+
527
+ x64-mingw-ucrt:
528
+ name: "build x64-mingw-ucrt ${{ matrix.os }}"
529
+ needs: common-8c26987
530
+ strategy:
531
+ fail-fast: false
532
+ matrix:
533
+ os:
534
+ - ubuntu-latest
535
+ - ubuntu-24.04-arm
536
+ runs-on: ${{ matrix.os }}
537
+ steps:
538
+ - uses: actions/checkout@v4
539
+
540
+ with:
541
+ ref: ${{ inputs.tag }}
542
+
543
+ - uses: ruby/setup-ruby@v1
544
+ with:
545
+ ruby-version: "3.4"
546
+ bundler-cache: true
547
+
548
+ - name: Fetch docker buildx layer cache
549
+ uses: actions/cache@v4
550
+ with:
551
+ path: tmp/build-cache-${{ runner.arch }}
552
+ key: ${{ runner.os }}-on-${{ runner.arch }}-x64-mingw-ucrt-${{ github.sha }}
553
+ restore-keys: |
554
+ ${{ runner.os }}-on-${{ runner.arch }}-x64-mingw-ucrt
555
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987
556
+ enableCrossOsArchive: true
557
+ - name: Build the image layers x64-mingw-ucrt on ${{ runner.arch }}
558
+ env:
559
+ RCD_TASK_DEPENDENCIES: "false"
560
+ run: |
561
+ # Change docker to a cache-able driver
562
+ docker buildx create --driver docker-container --use
563
+ bundle exec rake build:common-fad6604 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
564
+ - name: Update and prune docker buildx layer cache
565
+ run: |
566
+ rm -rf tmp/build-cache-${{ runner.arch }}
567
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
568
+
569
+ x64-mingw32:
570
+ name: "build x64-mingw32 ${{ matrix.os }}"
571
+ needs: common-8c26987
572
+ strategy:
573
+ fail-fast: false
574
+ matrix:
575
+ os:
576
+ - ubuntu-latest
577
+ - ubuntu-24.04-arm
578
+ runs-on: ${{ matrix.os }}
579
+ steps:
580
+ - uses: actions/checkout@v4
581
+
582
+ with:
583
+ ref: ${{ inputs.tag }}
584
+
585
+ - uses: ruby/setup-ruby@v1
586
+ with:
587
+ ruby-version: "3.4"
588
+ bundler-cache: true
589
+
590
+ - name: Fetch docker buildx layer cache
591
+ uses: actions/cache@v4
592
+ with:
593
+ path: tmp/build-cache-${{ runner.arch }}
594
+ key: ${{ runner.os }}-on-${{ runner.arch }}-x64-mingw32-${{ github.sha }}
595
+ restore-keys: |
596
+ ${{ runner.os }}-on-${{ runner.arch }}-x64-mingw32
597
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987
598
+ enableCrossOsArchive: true
599
+ - name: Build the image layers x64-mingw32 on ${{ runner.arch }}
600
+ env:
601
+ RCD_TASK_DEPENDENCIES: "false"
602
+ run: |
603
+ # Change docker to a cache-able driver
604
+ docker buildx create --driver docker-container --use
605
+ bundle exec rake build:common-c435c44 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
606
+ - name: Update and prune docker buildx layer cache
607
+ run: |
608
+ rm -rf tmp/build-cache-${{ runner.arch }}
609
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
610
+
611
+ x86-linux-gnu:
612
+ name: "build x86-linux-gnu ${{ matrix.os }}"
613
+ needs: common-8c26987
614
+ strategy:
615
+ fail-fast: false
616
+ matrix:
617
+ os:
618
+ - ubuntu-latest
619
+ - ubuntu-24.04-arm
620
+ runs-on: ${{ matrix.os }}
621
+ steps:
622
+ - uses: actions/checkout@v4
623
+
624
+ with:
625
+ ref: ${{ inputs.tag }}
626
+
627
+ - uses: ruby/setup-ruby@v1
628
+ with:
629
+ ruby-version: "3.4"
630
+ bundler-cache: true
631
+
632
+ - name: Fetch docker buildx layer cache
633
+ uses: actions/cache@v4
634
+ with:
635
+ path: tmp/build-cache-${{ runner.arch }}
636
+ key: ${{ runner.os }}-on-${{ runner.arch }}-x86-linux-gnu-${{ github.sha }}
637
+ restore-keys: |
638
+ ${{ runner.os }}-on-${{ runner.arch }}-x86-linux-gnu
639
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987
640
+ enableCrossOsArchive: true
641
+ - name: Build the image layers x86-linux-gnu on ${{ runner.arch }}
642
+ env:
643
+ RCD_TASK_DEPENDENCIES: "false"
644
+ run: |
645
+ # Change docker to a cache-able driver
646
+ docker buildx create --driver docker-container --use
647
+ bundle exec rake build:common-cda3746 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
648
+ - name: Update and prune docker buildx layer cache
649
+ run: |
650
+ rm -rf tmp/build-cache-${{ runner.arch }}
651
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
652
+
653
+ x86-mingw32:
654
+ name: "build x86-mingw32 ${{ matrix.os }}"
655
+ needs: common-8c26987
656
+ strategy:
657
+ fail-fast: false
658
+ matrix:
659
+ os:
660
+ - ubuntu-latest
661
+ - ubuntu-24.04-arm
662
+ runs-on: ${{ matrix.os }}
663
+ steps:
664
+ - uses: actions/checkout@v4
665
+
666
+ with:
667
+ ref: ${{ inputs.tag }}
668
+
669
+ - uses: ruby/setup-ruby@v1
670
+ with:
671
+ ruby-version: "3.4"
672
+ bundler-cache: true
673
+
674
+ - name: Fetch docker buildx layer cache
675
+ uses: actions/cache@v4
676
+ with:
677
+ path: tmp/build-cache-${{ runner.arch }}
678
+ key: ${{ runner.os }}-on-${{ runner.arch }}-x86-mingw32-${{ github.sha }}
679
+ restore-keys: |
680
+ ${{ runner.os }}-on-${{ runner.arch }}-x86-mingw32
681
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987
682
+ enableCrossOsArchive: true
683
+ - name: Build the image layers x86-mingw32 on ${{ runner.arch }}
684
+ env:
685
+ RCD_TASK_DEPENDENCIES: "false"
686
+ run: |
687
+ # Change docker to a cache-able driver
688
+ docker buildx create --driver docker-container --use
689
+ bundle exec rake build:common-697f3ca RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
690
+ - name: Update and prune docker buildx layer cache
691
+ run: |
692
+ rm -rf tmp/build-cache-${{ runner.arch }}
693
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
694
+
695
+ x86_64-linux-gnu:
696
+ name: "build x86_64-linux-gnu ${{ matrix.os }}"
697
+ needs: common-8c26987
698
+ strategy:
699
+ fail-fast: false
700
+ matrix:
701
+ os:
702
+ - ubuntu-latest
703
+ - ubuntu-24.04-arm
704
+ runs-on: ${{ matrix.os }}
705
+ steps:
706
+ - uses: actions/checkout@v4
707
+
708
+ with:
709
+ ref: ${{ inputs.tag }}
710
+
711
+ - uses: ruby/setup-ruby@v1
712
+ with:
713
+ ruby-version: "3.4"
714
+ bundler-cache: true
715
+
716
+ - name: Fetch docker buildx layer cache
717
+ uses: actions/cache@v4
718
+ with:
719
+ path: tmp/build-cache-${{ runner.arch }}
720
+ key: ${{ runner.os }}-on-${{ runner.arch }}-x86_64-linux-gnu-${{ github.sha }}
721
+ restore-keys: |
722
+ ${{ runner.os }}-on-${{ runner.arch }}-x86_64-linux-gnu
723
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8c26987
724
+ enableCrossOsArchive: true
725
+ - name: Build the image layers x86_64-linux-gnu on ${{ runner.arch }}
726
+ env:
727
+ RCD_TASK_DEPENDENCIES: "false"
728
+ run: |
729
+ # Change docker to a cache-able driver
730
+ docker buildx create --driver docker-container --use
731
+ bundle exec rake build:common-7b065f9 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
732
+ - name: Update and prune docker buildx layer cache
733
+ run: |
734
+ rm -rf tmp/build-cache-${{ runner.arch }}
735
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
736
+
737
+ common-8a6d861:
738
+ name: "build common-8a6d861 ${{ matrix.os }}"
739
+
740
+ strategy:
741
+ fail-fast: false
742
+ matrix:
743
+ os:
744
+ - ubuntu-latest
745
+ - ubuntu-24.04-arm
746
+ runs-on: ${{ matrix.os }}
747
+ steps:
748
+ - uses: actions/checkout@v4
749
+
750
+ with:
751
+ ref: ${{ inputs.tag }}
752
+
753
+ - uses: ruby/setup-ruby@v1
754
+ with:
755
+ ruby-version: "3.4"
756
+ bundler-cache: true
757
+
758
+ - name: Fetch docker buildx layer cache
759
+ uses: actions/cache@v4
760
+ with:
761
+ path: tmp/build-cache-${{ runner.arch }}
762
+ key: ${{ runner.os }}-on-${{ runner.arch }}-common-8a6d861-${{ github.sha }}
763
+ restore-keys: |
764
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8a6d861
765
+ ${{ runner.os }}-on-${{ runner.arch }}-
766
+ enableCrossOsArchive: true
767
+ - name: Build the image layers common-8a6d861 on ${{ runner.arch }}
768
+ env:
769
+ RCD_TASK_DEPENDENCIES: "false"
770
+ run: |
771
+ # Change docker to a cache-able driver
772
+ docker buildx create --driver docker-container --use
773
+ bundle exec rake build:common-8a6d861 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
774
+ - name: Update and prune docker buildx layer cache
775
+ run: |
776
+ rm -rf tmp/build-cache-${{ runner.arch }}
777
+ mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
778
+
779
+ jruby:
780
+ name: "build jruby ${{ matrix.os }}"
781
+ needs: common-8a6d861
19
782
  strategy:
20
783
  fail-fast: false
21
784
  matrix:
22
785
  os:
23
786
  - ubuntu-latest
24
787
  - ubuntu-24.04-arm
25
- platform:
26
- - aarch64-linux-gnu
27
- - aarch64-linux-musl
28
- - aarch64-mingw-ucrt
29
- - arm-linux-gnu
30
- - arm-linux-musl
31
- - arm64-darwin
32
- - jruby
33
- - x64-mingw-ucrt
34
- - x64-mingw32
35
- - x86-linux-gnu
36
- - x86-linux-musl
37
- - x86-mingw32
38
- - x86_64-darwin
39
- - x86_64-linux-gnu
40
- - x86_64-linux-musl
41
788
  runs-on: ${{ matrix.os }}
42
789
  steps:
43
790
  - uses: actions/checkout@v4
791
+
792
+ with:
793
+ ref: ${{ inputs.tag }}
794
+
44
795
  - uses: ruby/setup-ruby@v1
45
796
  with:
46
- ruby-version: "3.3"
797
+ ruby-version: "3.4"
47
798
  bundler-cache: true
48
799
 
49
800
  - name: Fetch docker buildx layer cache
50
801
  uses: actions/cache@v4
51
802
  with:
52
803
  path: tmp/build-cache-${{ runner.arch }}
53
- key: ${{ runner.os }}-on-${{ runner.arch }}-${{ matrix.platform }}-buildx-${{ github.sha }}
54
- restore-keys: ${{ runner.os }}-on-${{ runner.arch }}-${{ matrix.platform }}-buildx
804
+ key: ${{ runner.os }}-on-${{ runner.arch }}-jruby-${{ github.sha }}
805
+ restore-keys: |
806
+ ${{ runner.os }}-on-${{ runner.arch }}-jruby
807
+ ${{ runner.os }}-on-${{ runner.arch }}-common-8a6d861
55
808
  enableCrossOsArchive: true
56
- - name: Change docker to a cache-able driver
809
+ - name: Build the image layers jruby on ${{ runner.arch }}
810
+ env:
811
+ RCD_TASK_DEPENDENCIES: "false"
57
812
  run: |
813
+ # Change docker to a cache-able driver
58
814
  docker buildx create --driver docker-container --use
59
- bundle exec rake build:${{ matrix.platform }} RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,dest=tmp/build-cache-new"
60
- - name: Show docker images
61
- run: docker images
815
+ bundle exec rake build:common-58bf949 RCD_DOCKER_BUILD="docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-${{ runner.arch }} --cache-to=type=local,compression=zstd,dest=tmp/build-cache-new"
62
816
  - name: Update and prune docker buildx layer cache
63
817
  run: |
64
818
  rm -rf tmp/build-cache-${{ runner.arch }}
65
819
  mv tmp/build-cache-new tmp/build-cache-${{ runner.arch }}
66
820
 
821
+
67
822
  push:
68
- needs: build
69
- name: "push ${{ inputs.tag }} ${{ matrix.platform }}"
823
+ name: push
824
+ needs: [aarch64-linux-gnu,aarch64-linux-musl,aarch64-mingw-ucrt,arm-linux-gnu,arm-linux-musl,arm64-darwin,x64-mingw-ucrt,x64-mingw32,x86-linux-gnu,x86-linux-musl,x86-mingw32,x86_64-darwin,x86_64-linux-gnu,x86_64-linux-musl,jruby]
70
825
  strategy:
71
826
  fail-fast: false
72
827
  matrix:
73
828
  platform:
829
+
74
830
  - aarch64-linux-gnu
831
+
75
832
  - aarch64-linux-musl
833
+
76
834
  - aarch64-mingw-ucrt
835
+
77
836
  - arm-linux-gnu
837
+
78
838
  - arm-linux-musl
839
+
79
840
  - arm64-darwin
80
- - jruby
841
+
81
842
  - x64-mingw-ucrt
843
+
82
844
  - x64-mingw32
845
+
83
846
  - x86-linux-gnu
847
+
84
848
  - x86-linux-musl
849
+
85
850
  - x86-mingw32
851
+
86
852
  - x86_64-darwin
853
+
87
854
  - x86_64-linux-gnu
855
+
88
856
  - x86_64-linux-musl
89
- runs-on: ubuntu-latest
857
+
858
+ - jruby
859
+
860
+ runs-on: ubuntu-24.04-arm
90
861
  steps:
91
862
  - uses: actions/checkout@v4
92
- with:
93
- ref: ${{ inputs.tag }}
94
- - name: Use X64 cache from primary pipeline
863
+
864
+ - name: Use X64 cache from tree pipeline of ${{ matrix.platform }}
95
865
  uses: actions/cache/restore@v4
96
866
  with:
97
867
  path: tmp/build-cache-X64
98
- key: ${{ runner.os }}-on-X64-${{ matrix.platform }}-buildx-${{ github.sha }}
99
- restore-keys: ${{ runner.os }}-on-X64-${{ matrix.platform }}-buildx
868
+ key: ${{ runner.os }}-on-X64-${{ matrix.platform }}-${{ github.sha }}
869
+ restore-keys: ${{ runner.os }}-on-X64-${{ matrix.platform }}
100
870
  enableCrossOsArchive: true
101
- - name: Use ARM64 cache from primary pipeline
871
+ - name: Use ARM64 cache from tree pipeline of ${{ matrix.platform }}
102
872
  uses: actions/cache/restore@v4
103
873
  with:
104
874
  path: tmp/build-cache-ARM64
105
- key: ${{ runner.os }}-on-ARM64-${{ matrix.platform }}-buildx-${{ github.sha }}
106
- restore-keys: ${{ runner.os }}-on-ARM64-${{ matrix.platform }}-buildx
875
+ key: ${{ runner.os }}-on-ARM64-${{ matrix.platform }}-${{ github.sha }}
876
+ restore-keys: ${{ runner.os }}-on-ARM64-${{ matrix.platform }}
107
877
  enableCrossOsArchive: true
108
878
  fail-on-cache-miss: true
879
+
109
880
  - uses: ruby/setup-ruby@v1
110
881
  with:
111
- ruby-version: "3.3"
882
+ ruby-version: "3.4"
112
883
  bundler-cache: true
113
884
  - uses: docker/login-action@v3
114
885
  with:
@@ -117,7 +888,9 @@ jobs:
117
888
  password: ${{secrets.GITHUB_TOKEN}}
118
889
  - name: Use cache and push docker image
119
890
  env:
120
- RCD_DOCKER_BUILD: docker buildx build --cache-from=type=local,src=tmp/build-cache-X64 --cache-from=type=local,src=tmp/build-cache-ARM64 --cache-to=type=local,dest=tmp/build-cache-new
891
+ RCD_IMAGE_VERSION: snapshot
892
+ RCD_DOCKER_BUILD: docker buildx build --cache-from=type=local,compression=zstd,src=tmp/build-cache-X64 --cache-from=type=local,compression=zstd,src=tmp/build-cache-ARM64
893
+ RCD_TASK_DEPENDENCIES: "false"
121
894
  run: |
122
895
  docker buildx create --driver docker-container --use
123
- bundle exec rake release:${{matrix.platform}}
896
+ bundle exec rake release:${{ matrix.platform }}