@@ -19,7 +19,7 @@ inputs:
1919 See `--no-cache` flag in:
2020 https://docs.docker.com/engine/reference/commandline/buildx_build/#cache
2121 required : false
22- default : " true "
22+ default : " false "
2323 docker-save-cache :
2424 description : |
2525 Whether to save the Docker build cache after the build. If set to `false`,
@@ -30,21 +30,13 @@ inputs:
3030 # See: https://github.com/moby/buildkit#github-actions-cache-experimental
3131 docker-build-cache-from :
3232 description : |
33- Source of Docker build cache.
34-
35- ",scope=buildkit-<runner arch>" is appended to this input in order to set
36- caching for the specific runner architecture.
33+ Source of Docker build cache. Defaulted below.
3734 required : false
38- default : " type=gha,timeout=10m"
3935 # See: https://github.com/moby/buildkit#github-actions-cache-experimental
4036 docker-build-cache-to :
4137 description : |
42- Destination of Docker build cache.
43-
44- ",scope=buildkit-<runner arch>" is appended to this input in order to set
45- caching for the specific runner architecture.
38+ Destination of Docker build cache. Defaulted below.
4639 required : false
47- default : " type=gha,timeout=10m,mode=max,ignore-error=true"
4840 docker-push :
4941 description : " Push the docker image. Build only (no push) if: false."
5042 required : false
@@ -317,29 +309,38 @@ runs:
317309 env :
318310 DOCKER_RESTORE_CACHE : ${{ inputs.docker-restore-cache }}
319311 DOCKER_SAVE_CACHE : ${{ inputs.docker-save-cache }}
320- DOCKER_BUILD_CACHE_FROM : >-
321- ${{
322- format('{0},scope={1}', inputs.docker-build-cache-from, runner.arch)
323- }}
324- DOCKER_BUILD_CACHE_TO : >-
325- ${{
326- format('{0},scope={1}', inputs.docker-build-cache-to, runner.arch)
327- }}
312+ DOCKER_BUILD_CACHE_FROM : ${{ inputs.docker-build-cache-from }}
313+ DOCKER_BUILD_CACHE_TO : ${{ inputs.docker-build-cache-to }}
314+ DEFAULT_DOCKER_BUILD_CACHE_FROM :
315+ type=gha,timeout=10m,scope=generic-${{ runner.os }}-${{ runner.arch }}
316+ DEFAULT_DOCKER_BUILD_CACHE_TO :
317+ type=gha,timeout=10m,mode=min,ignore-error=true,scope=generic-${{
318+ runner.os }}-${{ runner.arch }}
328319 run : |
329- if [[ "${DOCKER_RESTORE_CACHE}" == "true" ]]; then
330- echo "no-cache=false" | tee -a "${GITHUB_OUTPUT}"
331- echo "cache-from=${DOCKER_BUILD_CACHE_FROM}" | tee -a "${GITHUB_OUTPUT}"
332- else
320+ CACHE_TO="${DOCKER_BUILD_CACHE_TO}"
321+ if [[ "${DOCKER_SAVE_CACHE}" == "true" ]]; then
322+ if [[ -z "${CACHE_TO}" ]]; then
323+ CACHE_TO="${DEFAULT_DOCKER_BUILD_CACHE_TO}"
324+ fi
325+ echo "cache-to=${CACHE_TO}" | tee -a "${GITHUB_OUTPUT}"
326+ fi
327+
328+ if [[ "${DOCKER_RESTORE_CACHE}" == "false" ]]; then
333329 echo "no-cache=true" | tee -a "${GITHUB_OUTPUT}"
330+ exit 0
334331 fi
335332
336- if [[ "${DOCKER_SAVE_CACHE}" == "true" ]]; then
337- echo "cache-to=${DOCKER_BUILD_CACHE_TO}" | tee -a "${GITHUB_OUTPUT}"
333+ CACHE_FROM="${DOCKER_BUILD_CACHE_FROM}"
334+ if [[ -z "${CACHE_FROM}" ]]; then
335+ CACHE_FROM="${DEFAULT_DOCKER_BUILD_CACHE_FROM}"
338336 fi
339337
338+ echo "no-cache=false" | tee -a "${GITHUB_OUTPUT}"
339+ echo "cache-from=${CACHE_FROM}" | tee -a "${GITHUB_OUTPUT}"
340+
340341 - name : Build & push image
341342 id : build-image
342- uses : docker/build-push-action@ca877d9245402d1537745e0e356eab47c3520991 # v6.13 .0
343+ uses : docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0 .0
343344 env :
344345 DOCKER_BUILD_CHECKS_ANNOTATIONS : true
345346 DOCKER_BUILD_SUMMARY : true
@@ -359,9 +360,10 @@ runs:
359360 tags : ${{ steps.docker-meta.outputs.tags }}
360361 labels : ${{ steps.docker-meta.outputs.labels }}
361362 platforms : ${{ inputs.platform }}
363+ # disables cache when building image
362364 no-cache : ${{ steps.docker-cache.outputs.no-cache }}
363- cache-from : ${{ steps.docker-cache.outputs.docker- cache-from }}
364- cache-to : ${{ steps.docker-cache.outputs.docker- cache-to }}
365+ cache-from : ${{ steps.docker-cache.outputs.cache-from }}
366+ cache-to : ${{ steps.docker-cache.outputs.cache-to }}
365367 secrets : |
366368 GIT_AUTH_TOKEN=${{ inputs.github-token || ''}}
367369
0 commit comments