Skip to content

Commit d515e1a

Browse files
authored
Merge pull request #46 from DataDog/lloeki/fix-parent-caching
Fix parent caching
2 parents e988fb7 + 9296fc7 commit d515e1a

File tree

1 file changed

+49
-32
lines changed

1 file changed

+49
-32
lines changed

.github/workflows/build-ruby.yml

+49-32
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ jobs:
231231
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
232232
with:
233233
persist-credentials: false
234+
fetch-depth: 2
234235

235236
# First, build image for x86_64 as it will fail fast
236237
#
@@ -240,8 +241,9 @@ jobs:
240241
if: ${{ contains(matrix.arch, 'x86_64') }}
241242
run: |
242243
cache_from=()
243-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
244-
for sha in $parents; do
244+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
245+
for sha in "${parents[@]}"; do
246+
echo "${sha}"
245247
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
246248
done
247249
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }})
@@ -250,8 +252,9 @@ jobs:
250252
if: ${{ contains(matrix.arch, 'x86_64') }}
251253
run: |
252254
cache_from=()
253-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
254-
for sha in $parents; do
255+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
256+
for sha in "${parents[@]}"; do
257+
echo "${sha}"
255258
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
256259
done
257260
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }})
@@ -271,8 +274,9 @@ jobs:
271274
if: ${{ contains(matrix.arch, 'x86_64') }}
272275
run: |
273276
cache_from=()
274-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
275-
for sha in $parents; do
277+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
278+
for sha in "${parents[@]}"; do
279+
echo "${sha}"
276280
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
277281
done
278282
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }})
@@ -281,8 +285,9 @@ jobs:
281285
if: ${{ contains(matrix.arch, 'x86_64') && matrix.libc == 'musl' }}
282286
run: |
283287
cache_from=()
284-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
285-
for sha in $parents; do
288+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
289+
for sha in "${parents[@]}"; do
290+
echo "${sha}"
286291
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-gcc-g${sha})
287292
done
288293
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-gcc)
@@ -302,8 +307,9 @@ jobs:
302307
if: ${{ contains(matrix.arch, 'aarch64') }}
303308
run: |
304309
cache_from=()
305-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
306-
for sha in $parents; do
310+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
311+
for sha in "${parents[@]}"; do
312+
echo "${sha}"
307313
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
308314
done
309315
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }})
@@ -312,8 +318,9 @@ jobs:
312318
if: ${{ contains(matrix.arch, 'aarch64') }}
313319
run: |
314320
cache_from=()
315-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
316-
for sha in $parents; do
321+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
322+
for sha in "${parents[@]}"; do
323+
echo "${sha}"
317324
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
318325
done
319326
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }})
@@ -333,8 +340,9 @@ jobs:
333340
if: ${{ contains(matrix.arch, 'aarch64') }}
334341
run: |
335342
cache_from=()
336-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
337-
for sha in $parents; do
343+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
344+
for sha in "${parents[@]}"; do
345+
echo "${sha}"
338346
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
339347
done
340348
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }})
@@ -343,8 +351,9 @@ jobs:
343351
if: ${{ contains(matrix.arch, 'aarch64') && matrix.libc == 'musl' }}
344352
run: |
345353
cache_from=()
346-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
347-
for sha in $parents; do
354+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
355+
for sha in "${parents[@]}"; do
356+
echo "${sha}"
348357
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-gcc-g${sha})
349358
done
350359
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-gcc)
@@ -360,17 +369,19 @@ jobs:
360369
- name: Push CI run image (${{ join(matrix.arch, ', ') }})
361370
run: |
362371
cache_from=()
363-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
364-
for sha in $parents; do
372+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
373+
for sha in "${parents[@]}"; do
374+
echo "${sha}"
365375
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
366376
done
367377
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }})
368378
docker buildx build ${{ steps.vars.outputs.SRC }} "${cache_from[@]}" --output=type=image,push=true --build-arg BUILDKIT_INLINE_CACHE=1 --platform ${{ steps.vars.outputs.DOCKER_PLATFORMS }} -f ${{ steps.vars.outputs.DOCKERFILE }} --tag ${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.TAG }}
369379
- name: Push commit image (${{ join(matrix.arch, ', ') }})
370380
run: |
371381
cache_from=()
372-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
373-
for sha in $parents; do
382+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
383+
for sha in "${parents[@]}"; do
384+
echo "${sha}"
374385
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
375386
done
376387
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }})
@@ -379,8 +390,9 @@ jobs:
379390
if: ${{ inputs.push }}
380391
run: |
381392
cache_from=()
382-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
383-
for sha in $parents; do
393+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
394+
for sha in "${parents[@]}"; do
395+
echo "${sha}"
384396
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
385397
done
386398
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }})
@@ -391,8 +403,9 @@ jobs:
391403
if: ${{ inputs.push && matrix.libc == 'gnu' }}
392404
run: |
393405
cache_from=()
394-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
395-
for sha in $parents; do
406+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
407+
for sha in "${parents[@]}"; do
408+
echo "${sha}"
396409
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
397410
done
398411
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }})
@@ -403,8 +416,9 @@ jobs:
403416
if: ${{ matrix.libc == 'gnu' || matrix.libc == 'centos' }}
404417
run: |
405418
cache_from=()
406-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
407-
for sha in $parents; do
419+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
420+
for sha in "${parents[@]}"; do
421+
echo "${sha}"
408422
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-gcc-g${sha})
409423
done
410424
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-gcc)
@@ -413,8 +427,9 @@ jobs:
413427
if: ${{ inputs.push && (matrix.libc == 'gnu' || matrix.libc == 'centos') }}
414428
run: |
415429
cache_from=()
416-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
417-
for sha in $parents; do
430+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
431+
for sha in "${parents[@]}"; do
432+
echo "${sha}"
418433
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-gcc-g${sha})
419434
done
420435
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-gcc)
@@ -429,8 +444,9 @@ jobs:
429444
if: ${{ matrix.libc == 'musl' }}
430445
run: |
431446
cache_from=()
432-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
433-
for sha in $parents; do
447+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
448+
for sha in "${parents[@]}"; do
449+
echo "${sha}"
434450
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-gcc-g${sha})
435451
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
436452
done
@@ -441,8 +457,9 @@ jobs:
441457
if: ${{ inputs.push && matrix.libc == 'musl' }}
442458
run: |
443459
cache_from=()
444-
parents="$(git rev-list --parents -n 1 ${{ github.sha }})"
445-
for sha in $parents; do
460+
parents=( $(git rev-list --parents -n 1 ${{ github.sha }}) )
461+
for sha in "${parents[@]}"; do
462+
echo "${sha}"
446463
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-gcc-g${sha})
447464
cache_from+=(--cache-from=type=registry,ref=${{ steps.vars.outputs.IMAGE }}:${{ steps.vars.outputs.RELEASE_TAG }}-g${sha})
448465
done

0 commit comments

Comments
 (0)