@@ -175,8 +175,6 @@ jobs:
175
175
id : meta
176
176
with :
177
177
images : ${{ steps.registry.outputs.image }}
178
- tags : |
179
- type=raw,value=${{ matrix.elixir }}-${{ matrix.otp }}-${{ matrix.platform[0] }}
180
178
- name : define base tag
181
179
id : base_tag
182
180
run : |
@@ -191,7 +189,6 @@ jobs:
191
189
pull : true
192
190
no-cache : true
193
191
platforms : ${{ matrix.platform[1] }}
194
- tags : ${{ steps.meta.outputs.tags }}
195
192
labels : ${{ steps.meta.outputs.labels }}
196
193
build-args : |
197
194
BUILD_FROM=${{ steps.base_tag.outputs.image }}
@@ -202,26 +199,45 @@ jobs:
202
199
outputs : type=image,name=${{ steps.registry.outputs.image }},push-by-digest=true,name-canonical=true,push=true
203
200
- name : Export digests
204
201
run : |
205
- mkdir -p /tmp/digests-build
202
+ mkdir -p /tmp/digests
206
203
digest="${{ steps.build.outputs.digest }}"
207
- touch "/tmp/digests-build /${digest#sha256:}"
204
+ touch "/tmp/digests/${digest#sha256:}"
208
205
- name : Upload digest
209
206
uses : actions/upload-artifact@v3
210
207
with :
211
- name : digests-build
212
- path : /tmp/digests-build /*
208
+ name : " digests-${{ matrix.platform[0] }}-${{ matrix.otp }}-${{ matrix.elixir }} "
209
+ path : /tmp/digests/*
213
210
if-no-files-found : error
214
211
retention-days : 1
215
212
216
- merge-build :
213
+ merge :
217
214
runs-on : ubuntu-latest
218
215
needs :
216
+ - prepare
219
217
- build
220
218
strategy :
221
219
fail-fast : false
222
220
matrix :
223
221
base_image_vsn :
224
222
- " 5.0"
223
+ otp : ${{ fromJSON(needs.prepare.outputs.otp) }}
224
+ elixir : ${{ fromJSON(needs.prepare.outputs.elixir) }}
225
+ platform :
226
+ - ubuntu22.04
227
+ - ubuntu20.04
228
+ - ubuntu18.04
229
+ - ubuntu16.04
230
+ - debian12
231
+ - debian11
232
+ - debian10
233
+ - debian9
234
+ - el9
235
+ - el8
236
+ - el7
237
+ - amzn2
238
+ - amzn2023
239
+ - alpine3.15.1
240
+
225
241
steps :
226
242
- name : Get ref
227
243
id : ref
@@ -233,23 +249,25 @@ jobs:
233
249
- name : Download digests
234
250
uses : actions/download-artifact@v3
235
251
with :
236
- name : digests-build
237
- path : /tmp/digests-build
252
+ name : " digests-${{ matrix.platform }}-${{ matrix.otp }}-${{ matrix.elixir }} "
253
+ path : /tmp/digests
238
254
- name : Set up Docker Buildx
239
255
uses : docker/setup-buildx-action@v3
240
256
- name : Docker meta
241
257
id : meta
242
258
uses : docker/metadata-action@v5
243
259
with :
244
260
images : ${{ steps.registry.outputs.image }}
261
+ tags : |
262
+ type=raw,value=${{ matrix.elixir }}-${{ matrix.otp }}-${{ matrix.platform }}
245
263
- name : Login to Docker Hub
246
264
uses : docker/login-action@v3
247
265
with :
248
266
registry : ghcr.io
249
267
username : ${{ github.actor }}
250
268
password : ${{ github.token }}
251
269
- name : Create manifest list and push
252
- working-directory : /tmp/digests-build
270
+ working-directory : /tmp/digests
253
271
run : |
254
272
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
255
273
$(printf '${{ steps.registry.outputs.image }}@sha256:%s ' *)
@@ -259,7 +277,7 @@ jobs:
259
277
260
278
release :
261
279
runs-on : ubuntu-latest
262
- needs : merge-build
280
+ needs : merge
263
281
264
282
if : startsWith(github.ref, 'refs/tags/')
265
283
0 commit comments