Use the best cache for docker images
@@ -140,11 +140,13 @@ jobs:
# to be used as the caching layer, using the `max` caching mode.
#
# We use multiple cache sources to confirm a cache hit, starting from a per-branch cache,
- # and if there's no hit, then continue with the `main` branch. Changes within a PR are usually
- # small, so this provides the best performance.
+ # and if there's no hit, then continue with the `main` branch. When changes are added to a PR,
+ # they are usually smaller than the diff between the PR and `main` branch. So this provides the
+ # best performance.
#
- # The last cache in the list is tried first.
+ # The caches are tried in top-down order, the first available cache is used:
+ # https://github.com/moby/moby/pull/26839#issuecomment-277383550
cache-from: |
- type=registry,ref=us-docker.pkg.dev/zealous-zebra/zebra/${{ inputs.image_name }}:main-cache
type=registry,ref=us-docker.pkg.dev/zealous-zebra/zebra/${{ inputs.image_name }}:${{ env.GITHUB_REF_SLUG_URL }}-cache
+ type=registry,ref=us-docker.pkg.dev/zealous-zebra/zebra/${{ inputs.image_name }}:main-cache
cache-to: type=registry,ref=us-docker.pkg.dev/zealous-zebra/zebra/${{ inputs.image_name }}:${{ env.GITHUB_REF_SLUG_URL }}-cache,mode=max
