Skip to content

Commit 17df476

Browse files
committed
Avoid unnecessary docker rebuilds in CI
1 parent 1ed7c66 commit 17df476

File tree

5 files changed

+132
-32
lines changed

5 files changed

+132
-32
lines changed

.github/workflows/publish-images.yml

Lines changed: 54 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,12 @@ jobs:
4242
${{ runner.os }}-on-${{ runner.arch }}-common-7f790bc6d2444edacd5337c9048dae13842eb9ff
4343
enableCrossOsArchive: true
4444
- name: Build the image layers aarch64-linux-musl on ${{ runner.arch }}
45+
env:
46+
RCD_TASK_DEPENDENCIES: "false"
4547
run: |
4648
# Change docker to a cache-able driver
4749
docker buildx create --driver docker-container --use
48-
bundle exec rake build:aarch64-linux-musl 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"
50+
bundle exec rake build:common-723ac6e8df696b68867754088d542e27005deaaf 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"
4951
- name: Update and prune docker buildx layer cache
5052
run: |
5153
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -79,6 +81,8 @@ jobs:
7981
${{ runner.os }}-on-${{ runner.arch }}-common-8c26987a5e78ace67587139520ec4d44e00a8f54
8082
enableCrossOsArchive: true
8183
- name: Build the image layers common-7f790bc6d2444edacd5337c9048dae13842eb9ff on ${{ runner.arch }}
84+
env:
85+
RCD_TASK_DEPENDENCIES: "false"
8286
run: |
8387
# Change docker to a cache-able driver
8488
docker buildx create --driver docker-container --use
@@ -116,10 +120,12 @@ jobs:
116120
${{ runner.os }}-on-${{ runner.arch }}-common-7f790bc6d2444edacd5337c9048dae13842eb9ff
117121
enableCrossOsArchive: true
118122
- name: Build the image layers arm-linux-musl on ${{ runner.arch }}
123+
env:
124+
RCD_TASK_DEPENDENCIES: "false"
119125
run: |
120126
# Change docker to a cache-able driver
121127
docker buildx create --driver docker-container --use
122-
bundle exec rake build:arm-linux-musl 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"
128+
bundle exec rake build:common-fbc527a24691e48b3ceae3946e031e5e7e88c321 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"
123129
- name: Update and prune docker buildx layer cache
124130
run: |
125131
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -153,10 +159,12 @@ jobs:
153159
${{ runner.os }}-on-${{ runner.arch }}-common-7f790bc6d2444edacd5337c9048dae13842eb9ff
154160
enableCrossOsArchive: true
155161
- name: Build the image layers x86-linux-musl on ${{ runner.arch }}
162+
env:
163+
RCD_TASK_DEPENDENCIES: "false"
156164
run: |
157165
# Change docker to a cache-able driver
158166
docker buildx create --driver docker-container --use
159-
bundle exec rake build:x86-linux-musl 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"
167+
bundle exec rake build:common-63da25377d0818f37111c2410d4816b73d1a9060 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"
160168
- name: Update and prune docker buildx layer cache
161169
run: |
162170
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -190,10 +198,12 @@ jobs:
190198
${{ runner.os }}-on-${{ runner.arch }}-common-7f790bc6d2444edacd5337c9048dae13842eb9ff
191199
enableCrossOsArchive: true
192200
- name: Build the image layers x86_64-linux-musl on ${{ runner.arch }}
201+
env:
202+
RCD_TASK_DEPENDENCIES: "false"
193203
run: |
194204
# Change docker to a cache-able driver
195205
docker buildx create --driver docker-container --use
196-
bundle exec rake build:x86_64-linux-musl 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"
206+
bundle exec rake build:common-dc7239babc93dee187ce0f0fa030de8c792e8611 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"
197207
- name: Update and prune docker buildx layer cache
198208
run: |
199209
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -227,10 +237,12 @@ jobs:
227237
${{ runner.os }}-on-${{ runner.arch }}-common-d1f437046b79903f679102aadd5269e80f584d09
228238
enableCrossOsArchive: true
229239
- name: Build the image layers arm64-darwin on ${{ runner.arch }}
240+
env:
241+
RCD_TASK_DEPENDENCIES: "false"
230242
run: |
231243
# Change docker to a cache-able driver
232244
docker buildx create --driver docker-container --use
233-
bundle exec rake build:arm64-darwin 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"
245+
bundle exec rake build:common-2829589da6681b1b5f379e6d68ff6be60cba5cf6 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"
234246
- name: Update and prune docker buildx layer cache
235247
run: |
236248
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -264,6 +276,8 @@ jobs:
264276
${{ runner.os }}-on-${{ runner.arch }}-common-8c26987a5e78ace67587139520ec4d44e00a8f54
265277
enableCrossOsArchive: true
266278
- name: Build the image layers common-d1f437046b79903f679102aadd5269e80f584d09 on ${{ runner.arch }}
279+
env:
280+
RCD_TASK_DEPENDENCIES: "false"
267281
run: |
268282
# Change docker to a cache-able driver
269283
docker buildx create --driver docker-container --use
@@ -301,10 +315,12 @@ jobs:
301315
${{ runner.os }}-on-${{ runner.arch }}-common-d1f437046b79903f679102aadd5269e80f584d09
302316
enableCrossOsArchive: true
303317
- name: Build the image layers x86_64-darwin on ${{ runner.arch }}
318+
env:
319+
RCD_TASK_DEPENDENCIES: "false"
304320
run: |
305321
# Change docker to a cache-able driver
306322
docker buildx create --driver docker-container --use
307-
bundle exec rake build:x86_64-darwin 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"
323+
bundle exec rake build:common-bc540754626a1ebf8164f8ae4378b9104b383663 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"
308324
- name: Update and prune docker buildx layer cache
309325
run: |
310326
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -338,10 +354,12 @@ jobs:
338354
${{ runner.os }}-on-${{ runner.arch }}-common-8c26987a5e78ace67587139520ec4d44e00a8f54
339355
enableCrossOsArchive: true
340356
- name: Build the image layers aarch64-linux-gnu on ${{ runner.arch }}
357+
env:
358+
RCD_TASK_DEPENDENCIES: "false"
341359
run: |
342360
# Change docker to a cache-able driver
343361
docker buildx create --driver docker-container --use
344-
bundle exec rake build:aarch64-linux-gnu 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"
362+
bundle exec rake build:common-b45d14aea28f4d30cfaa5bc6a34d751db67da79f 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"
345363
- name: Update and prune docker buildx layer cache
346364
run: |
347365
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -375,6 +393,8 @@ jobs:
375393
${{ runner.os }}-on-${{ runner.arch }}-common-8a6d86116e9a9ffad5888a4a8b7fbee50535dbe0
376394
enableCrossOsArchive: true
377395
- name: Build the image layers common-8c26987a5e78ace67587139520ec4d44e00a8f54 on ${{ runner.arch }}
396+
env:
397+
RCD_TASK_DEPENDENCIES: "false"
378398
run: |
379399
# Change docker to a cache-able driver
380400
docker buildx create --driver docker-container --use
@@ -412,10 +432,12 @@ jobs:
412432
${{ runner.os }}-on-${{ runner.arch }}-common-8c26987a5e78ace67587139520ec4d44e00a8f54
413433
enableCrossOsArchive: true
414434
- name: Build the image layers aarch64-mingw-ucrt on ${{ runner.arch }}
435+
env:
436+
RCD_TASK_DEPENDENCIES: "false"
415437
run: |
416438
# Change docker to a cache-able driver
417439
docker buildx create --driver docker-container --use
418-
bundle exec rake build:aarch64-mingw-ucrt 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"
440+
bundle exec rake build:common-2378386d2f098439bb4555bfc930aa62eab2dd65 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"
419441
- name: Update and prune docker buildx layer cache
420442
run: |
421443
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -449,10 +471,12 @@ jobs:
449471
${{ runner.os }}-on-${{ runner.arch }}-common-8c26987a5e78ace67587139520ec4d44e00a8f54
450472
enableCrossOsArchive: true
451473
- name: Build the image layers arm-linux-gnu on ${{ runner.arch }}
474+
env:
475+
RCD_TASK_DEPENDENCIES: "false"
452476
run: |
453477
# Change docker to a cache-able driver
454478
docker buildx create --driver docker-container --use
455-
bundle exec rake build:arm-linux-gnu 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"
479+
bundle exec rake build:common-8fd4771bba44643d3934e41c218db66645f9e96f 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"
456480
- name: Update and prune docker buildx layer cache
457481
run: |
458482
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -486,10 +510,12 @@ jobs:
486510
${{ runner.os }}-on-${{ runner.arch }}-common-8c26987a5e78ace67587139520ec4d44e00a8f54
487511
enableCrossOsArchive: true
488512
- name: Build the image layers x64-mingw-ucrt on ${{ runner.arch }}
513+
env:
514+
RCD_TASK_DEPENDENCIES: "false"
489515
run: |
490516
# Change docker to a cache-able driver
491517
docker buildx create --driver docker-container --use
492-
bundle exec rake build:x64-mingw-ucrt 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"
518+
bundle exec rake build:common-fad6604335c2d8c64475e5d69c083d0cce4f63a7 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"
493519
- name: Update and prune docker buildx layer cache
494520
run: |
495521
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -523,10 +549,12 @@ jobs:
523549
${{ runner.os }}-on-${{ runner.arch }}-common-8c26987a5e78ace67587139520ec4d44e00a8f54
524550
enableCrossOsArchive: true
525551
- name: Build the image layers x64-mingw32 on ${{ runner.arch }}
552+
env:
553+
RCD_TASK_DEPENDENCIES: "false"
526554
run: |
527555
# Change docker to a cache-able driver
528556
docker buildx create --driver docker-container --use
529-
bundle exec rake build:x64-mingw32 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"
557+
bundle exec rake build:common-c435c444a8baec018c75861cf5b32aeb9345683e 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"
530558
- name: Update and prune docker buildx layer cache
531559
run: |
532560
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -560,10 +588,12 @@ jobs:
560588
${{ runner.os }}-on-${{ runner.arch }}-common-8c26987a5e78ace67587139520ec4d44e00a8f54
561589
enableCrossOsArchive: true
562590
- name: Build the image layers x86-linux-gnu on ${{ runner.arch }}
591+
env:
592+
RCD_TASK_DEPENDENCIES: "false"
563593
run: |
564594
# Change docker to a cache-able driver
565595
docker buildx create --driver docker-container --use
566-
bundle exec rake build:x86-linux-gnu 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"
596+
bundle exec rake build:common-cda3746d187096bfcb5179842dc5b8f845ea3da6 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"
567597
- name: Update and prune docker buildx layer cache
568598
run: |
569599
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -597,10 +627,12 @@ jobs:
597627
${{ runner.os }}-on-${{ runner.arch }}-common-8c26987a5e78ace67587139520ec4d44e00a8f54
598628
enableCrossOsArchive: true
599629
- name: Build the image layers x86-mingw32 on ${{ runner.arch }}
630+
env:
631+
RCD_TASK_DEPENDENCIES: "false"
600632
run: |
601633
# Change docker to a cache-able driver
602634
docker buildx create --driver docker-container --use
603-
bundle exec rake build:x86-mingw32 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"
635+
bundle exec rake build:common-697f3ca4a0ddea1b26a66aee35ab6fc30ae3010b 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"
604636
- name: Update and prune docker buildx layer cache
605637
run: |
606638
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -634,10 +666,12 @@ jobs:
634666
${{ runner.os }}-on-${{ runner.arch }}-common-8c26987a5e78ace67587139520ec4d44e00a8f54
635667
enableCrossOsArchive: true
636668
- name: Build the image layers x86_64-linux-gnu on ${{ runner.arch }}
669+
env:
670+
RCD_TASK_DEPENDENCIES: "false"
637671
run: |
638672
# Change docker to a cache-able driver
639673
docker buildx create --driver docker-container --use
640-
bundle exec rake build:x86_64-linux-gnu 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"
674+
bundle exec rake build:common-7b065f9c97f9d9f355f67f09b97c844d21539e42 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"
641675
- name: Update and prune docker buildx layer cache
642676
run: |
643677
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -671,6 +705,8 @@ jobs:
671705
${{ runner.os }}-on-${{ runner.arch }}-
672706
enableCrossOsArchive: true
673707
- name: Build the image layers common-8a6d86116e9a9ffad5888a4a8b7fbee50535dbe0 on ${{ runner.arch }}
708+
env:
709+
RCD_TASK_DEPENDENCIES: "false"
674710
run: |
675711
# Change docker to a cache-able driver
676712
docker buildx create --driver docker-container --use
@@ -708,10 +744,12 @@ jobs:
708744
${{ runner.os }}-on-${{ runner.arch }}-common-8a6d86116e9a9ffad5888a4a8b7fbee50535dbe0
709745
enableCrossOsArchive: true
710746
- name: Build the image layers jruby on ${{ runner.arch }}
747+
env:
748+
RCD_TASK_DEPENDENCIES: "false"
711749
run: |
712750
# Change docker to a cache-able driver
713751
docker buildx create --driver docker-container --use
714-
bundle exec rake build:jruby 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"
752+
bundle exec rake build:common-58bf949eac408202d0b3113ff93f6330354c92a1 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"
715753
- name: Update and prune docker buildx layer cache
716754
run: |
717755
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -789,6 +827,7 @@ jobs:
789827
env:
790828
RCD_IMAGE_VERSION: snapshot
791829
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
830+
RCD_TASK_DEPENDENCIES: "false"
792831
run: |
793832
docker buildx create --driver docker-container --use
794833
bundle exec rake release:${{ matrix.platform }}

.github/workflows/publish-images.yml.erb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,12 @@ jobs:
6060
${{ runner.os }}-on-${{ runner.arch }}-<%= need %>
6161
enableCrossOsArchive: true
6262
- name: Build the image layers <%= job %> on ${{ runner.arch }}
63+
env:
64+
RCD_TASK_DEPENDENCIES: "false"
6365
run: |
6466
# Change docker to a cache-able driver
6567
docker buildx create --driver docker-container --use
66-
bundle exec rake build:<%= job %> 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"
68+
bundle exec rake build:<%= tree_dep %> 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"
6769
- name: Update and prune docker buildx layer cache
6870
run: |
6971
rm -rf tmp/build-cache-${{ runner.arch }}
@@ -113,6 +115,7 @@ jobs:
113115
env:
114116
RCD_IMAGE_VERSION: snapshot
115117
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
118+
RCD_TASK_DEPENDENCIES: "false"
116119
run: |
117120
docker buildx create --driver docker-container --use
118121
bundle exec rake release:${{ matrix.platform }}

0 commit comments

Comments
 (0)