Skip to content

Commit a588e35

Browse files
authored
Merge pull request #18 from blinklabs-io/chore/ci-tag-dockerhub
chore(ci): tag images for use on docker hub
2 parents 196a960 + b8fe24a commit a588e35

File tree

1 file changed

+32
-16
lines changed

1 file changed

+32
-16
lines changed

.github/workflows/publish.yml

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -215,43 +215,59 @@ jobs:
215215
tags: |
216216
# Only version, no revision
217217
type=match,pattern=v(.*)-(.*),group=1
218+
219+
# First, create manifests and push to GHCR
220+
218221
# Manifest for either branch or semver
219-
- name: manifest-dockerhub
220-
run: docker manifest create ${{ steps.meta-dockerhub.outputs.tags }} --amend ${{ steps.meta-dockerhub.outputs.tags }}-amd64 --amend ${{ steps.meta-dockerhub.outputs.tags }}-arm64v8
221222
- name: manifest-ghcr
222223
run: docker manifest create ${{ steps.meta-ghcr.outputs.tags }} --amend ${{ steps.meta-ghcr.outputs.tags }}-amd64 --amend ${{ steps.meta-ghcr.outputs.tags }}-arm64v8
223224
# Optional manifest for latest
224-
- name: manifest-dockerhub-latest
225-
run: docker manifest create ${{ env.DOCKER_IMAGE_NAME }}:latest --amend ${{ steps.meta-dockerhub.outputs.tags }}-amd64 --amend ${{ steps.meta-dockerhub.outputs.tags }}-arm64v8
226-
if: startsWith(github.ref, 'refs/tags/')
227225
- name: manifest-ghcr-latest
228226
run: docker manifest create ${{ env.GHCR_IMAGE_NAME }}:latest --amend ${{ steps.meta-ghcr.outputs.tags }}-amd64 --amend ${{ steps.meta-ghcr.outputs.tags }}-arm64v8
229227
if: startsWith(github.ref, 'refs/tags/')
230228
# Optional manifest for tag versions (includes revisions)
231-
- name: manifest-dockerhub-tags
232-
run: docker manifest create ${{ steps.meta-dockerhub-tag.outputs.tags }} --amend ${{ steps.meta-dockerhub-tag.outputs.tags }}-amd64 --amend ${{ steps.meta-dockerhub-tag.outputs.tags }}-arm64v8
233-
if: startsWith(github.ref, 'refs/tags/')
234229
- name: manifest-ghcr-tags
235230
run: docker manifest create ${{ steps.meta-ghcr-tag.outputs.tags }} --amend ${{ steps.meta-ghcr-tag.outputs.tags }}-amd64 --amend ${{ steps.meta-ghcr-tag.outputs.tags }}-arm64v8
236231
if: startsWith(github.ref, 'refs/tags/')
237232
# Push various manifests
238-
- name: push-dockerhub
239-
run: docker manifest push ${{ steps.meta-dockerhub.outputs.tags }}
240233
- name: push-ghcr
241234
run: docker manifest push ${{ steps.meta-ghcr.outputs.tags }}
242-
- name: push-dockerhub-latest
243-
run: docker manifest push ${{ env.DOCKER_IMAGE_NAME }}:latest
244-
if: startsWith(github.ref, 'refs/tags/')
245235
- name: push-ghcr-latest
246236
run: docker manifest push ${{ env.GHCR_IMAGE_NAME }}:latest
247237
if: startsWith(github.ref, 'refs/tags/')
248-
- name: push-dockerhub-tags
249-
run: docker manifest push ${{ steps.meta-dockerhub-tag.outputs.tags }}
250-
if: startsWith(github.ref, 'refs/tags/')
251238
- name: push-ghcr-tags
252239
run: docker manifest push ${{ steps.meta-ghcr-tag.outputs.tags }}
253240
if: startsWith(github.ref, 'refs/tags/')
241+
242+
# Retag all the things for Docker Hub
243+
- run: docker tag ${{ steps.meta-ghcr.outputs.tags }}-amd64 ${{ steps.meta-dockerhub.outputs.tags }}-amd64
244+
- run: docker tag ${{ steps.meta-ghcr.outputs.tags }}-arm64v8 ${{ steps.meta-dockerhub.outputs.tags }}-arm64v8
245+
246+
# Push images to Docker Hub
247+
- run: docker push ${{ steps.meta-dockerhub.outputs.tags }}-amd64
248+
- run: docker push ${{ steps.meta-dockerhub.outputs.tags }}-arm64v8
249+
250+
# Now, create manifests for Docker Hub
251+
252+
- name: manifest-dockerhub
253+
run: docker manifest create ${{ steps.meta-dockerhub.outputs.tags }} --amend ${{ steps.meta-dockerhub.outputs.tags }}-amd64 --amend ${{ steps.meta-dockerhub.outputs.tags }}-arm64v8
254+
- name: manifest-dockerhub-latest
255+
run: docker manifest create ${{ env.DOCKER_IMAGE_NAME }}:latest --amend ${{ steps.meta-dockerhub.outputs.tags }}-amd64 --amend ${{ steps.meta-dockerhub.outputs.tags }}-arm64v8
256+
if: startsWith(github.ref, 'refs/tags/')
257+
- name: manifest-dockerhub-tags
258+
run: docker manifest create ${{ steps.meta-dockerhub-tag.outputs.tags }} --amend ${{ steps.meta-dockerhub-tag.outputs.tags }}-amd64 --amend ${{ steps.meta-dockerhub-tag.outputs.tags }}-arm64v8
259+
if: startsWith(github.ref, 'refs/tags/')
260+
- name: push-dockerhub
261+
run: docker manifest push ${{ steps.meta-dockerhub.outputs.tags }}
262+
- name: push-dockerhub-latest
263+
run: docker manifest push ${{ env.DOCKER_IMAGE_NAME }}:latest
264+
if: startsWith(github.ref, 'refs/tags/')
265+
- name: push-dockerhub-tags
266+
run: docker manifest push ${{ steps.meta-dockerhub-tag.outputs.tags }}
267+
if: startsWith(github.ref, 'refs/tags/')
268+
254269
# Update Docker Hub from README
270+
255271
- name: Docker Hub Description
256272
uses: peter-evans/dockerhub-description@v3
257273
with:

0 commit comments

Comments
 (0)