Skip to content

Commit bb28de0

Browse files
committed
Implement caching to registry by ref name
1 parent b7e2d26 commit bb28de0

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

.github/workflows/build-push.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ jobs:
7474
steps:
7575
- name: Checkout
7676
uses: actions/checkout@v4
77+
- name: Inject enhanced GitHub environment variables
78+
uses: rlespinasse/github-slug-action@v5
7779
- name: Load spack version and cherry-picks
7880
id: spack
7981
shell: bash
@@ -176,8 +178,10 @@ jobs:
176178
EICSPACK_ORGREPO=${{ steps.eic-spack.outputs.orgrepo }}
177179
EICSPACK_VERSION=${{ steps.eic-spack.outputs.version }}
178180
jobs=${{ env.JOBS }}
179-
cache-from: type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/buildcache:${{ matrix.BUILD_IMAGE }}-${{ matrix.arch }}
180-
cache-to: type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/buildcache:${{ matrix.BUILD_IMAGE }}-${{ matrix.arch }},mode=max
181+
cache-from: |
182+
type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/buildcache:${{ matrix.BUILD_IMAGE }}-${{ env.GITHUB_REF_NAME_SLUG }}-${{ matrix.arch }}
183+
type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/buildcache:${{ matrix.BUILD_IMAGE }}-${{ env.GITHUB_BASE_REF_SLUG }}-${{ matrix.arch }}
184+
cache-to: type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/buildcache:${{ matrix.BUILD_IMAGE }}-${{ env.GITHUB_REF_NAME_SLUG }}-${{ matrix.arch }},mode=max
181185
- name: Export digest to file
182186
# The build-push action outputs the digest at steps.build.outputs.digest
183187
# We write this to a file for the next job
@@ -305,6 +309,8 @@ jobs:
305309
export CI_REGISTRY=ghcr.io
306310
export CI_PROJECT_PATH=eic
307311
cat mirrors.yaml.in | envsubst > mirrors.yaml
312+
- name: Inject enhanced GitHub environment variables
313+
uses: rlespinasse/github-slug-action@v5
308314
- name: Set up QEMU
309315
uses: docker/setup-qemu-action@v3
310316
with:
@@ -384,8 +390,10 @@ jobs:
384390
RUNTIME_IMAGE=${{ matrix.RUNTIME_IMAGE }}
385391
INTERNAL_TAG=${{ env.INTERNAL_TAG }}
386392
ENV=${{ matrix.ENV }}
387-
cache-from: type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/buildcache:${{ matrix.BUILD_IMAGE }}${{ matrix.ENV }}-${{ matrix.arch }}
388-
cache-to: type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/buildcache:${{ matrix.BUILD_IMAGE }}${{ matrix.ENV }}-${{ matrix.arch }},mode=max
393+
cache-from: |
394+
type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/buildcache:${{ matrix.BUILD_IMAGE }}${{ matrix.ENV }}-${{ env.GITHUB_REF_NAME_SLUG }}-${{ matrix.arch }}
395+
type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/buildcache:${{ matrix.BUILD_IMAGE }}${{ matrix.ENV }}-${{ env.GITHUB_BASE_REF_SLUG }}-${{ matrix.arch }}
396+
cache-to: type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/buildcache:${{ matrix.BUILD_IMAGE }}${{ matrix.ENV }}-${{ env.GITHUB_REF_NAME_SLUG }}-${{ matrix.arch }},mode=max
389397
- name: Export digest to file
390398
# The build-push action outputs the digest at steps.build.outputs.digest
391399
# We write this to a file for the next job

0 commit comments

Comments
 (0)