@@ -96,12 +96,32 @@ jobs:
96
96
username : ${{ inputs.registry-username }}
97
97
password : ${{ secrets.registry-password }}
98
98
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
101
102
uses : docker/build-push-action@v6
102
103
with :
103
104
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 :
105
125
context : ${{ inputs.build-context }}
106
126
file : ${{ inputs.build-file }}
107
127
labels : ${{ steps.meta.outputs.labels }}
@@ -110,10 +130,11 @@ jobs:
110
130
platforms : ${{ matrix.builder.platform }}
111
131
provenance : ${{ inputs.build-provenance }}
112
132
113
- - name : Export digest
133
+ - name : Export digest (no cache)
134
+ if : ${{ inputs.build-cache == 'false' }}
114
135
run : |
115
136
mkdir -p ${{ runner.temp }}/digests
116
- digest="${{ steps.build.outputs.digest }}"
137
+ digest="${{ steps.build-no-cache .outputs.digest }}"
117
138
touch "${{ runner.temp }}/digests/${digest#sha256:}"
118
139
119
140
- name : Upload digest
0 commit comments