@@ -96,12 +96,32 @@ jobs:
9696 username : ${{ inputs.registry-username }}
9797 password : ${{ secrets.registry-password }}
9898
99- - name : Build and push by digest
100- id : build
99+ - name : Build and push by digest (cached)
100+ if : ${{ inputs.build-cache }}
101+ id : build-cache
101102 uses : docker/build-push-action@v6
102103 with :
103104 cache-from : type=gha,scope=${{ inputs.build-cache-key }}-${{ env.PLATFORM_PAIR }}
104- cache-to : type=gha,scope=${{ inputs.build-cache-key }}-${{ env.PLATFORM_PAIR }},mode=max
105+ cache-to : type=gha,scope=${{ inputs.build-cache-key }}-${{ env.PLATFORM_PAIR }},mode=min
106+ context : ${{ inputs.build-context }}
107+ file : ${{ inputs.build-file }}
108+ labels : ${{ steps.meta.outputs.labels }}
109+ outputs : type=image,name=${{ inputs.registry-image }},push-by-digest=true,name-canonical=true,push=true
110+ platforms : ${{ matrix.builder.platform }}
111+ provenance : ${{ inputs.build-provenance }}
112+
113+ - name : Export digest (cached)
114+ if : ${{ inputs.build-cache == 'true' }}
115+ run : |
116+ mkdir -p ${{ runner.temp }}/digests
117+ digest="${{ steps.build-cache.outputs.digest }}"
118+ touch "${{ runner.temp }}/digests/${digest#sha256:}"
119+
120+ - name : Build and push by digest (no cache)
121+ if : ${{ ! inputs.build-cache }}
122+ id : build-no-cache
123+ uses : docker/build-push-action@v6
124+ with :
105125 context : ${{ inputs.build-context }}
106126 file : ${{ inputs.build-file }}
107127 labels : ${{ steps.meta.outputs.labels }}
@@ -110,10 +130,11 @@ jobs:
110130 platforms : ${{ matrix.builder.platform }}
111131 provenance : ${{ inputs.build-provenance }}
112132
113- - name : Export digest
133+ - name : Export digest (no cache)
134+ if : ${{ inputs.build-cache == 'false' }}
114135 run : |
115136 mkdir -p ${{ runner.temp }}/digests
116- digest="${{ steps.build.outputs.digest }}"
137+ digest="${{ steps.build-no-cache .outputs.digest }}"
117138 touch "${{ runner.temp }}/digests/${digest#sha256:}"
118139
119140 - name : Upload digest
0 commit comments