Skip to content

Commit

Permalink
Merge pull request #44 from blinklabs-io/chore/ci-build-tag-images-do…
Browse files Browse the repository at this point in the history
…ckerhub

chore(ci): tag images for docker hub during build
  • Loading branch information
wolf31o2 committed Apr 1, 2023
2 parents 6ca02d0 + aee8c3d commit 8f6eeb3
Showing 1 changed file with 26 additions and 16 deletions.
42 changes: 26 additions & 16 deletions .github/workflows/publish.yml
Expand Up @@ -42,6 +42,7 @@ jobs:
uses: docker/metadata-action@v4
with:
images: |
${{ env.DOCKER_IMAGE_NAME }}
${{ env.GHCR_IMAGE_NAME }}
flavor: |
latest=false
Expand Down Expand Up @@ -108,6 +109,7 @@ jobs:
uses: docker/metadata-action@v4
with:
images: |
${{ env.DOCKER_IMAGE_NAME }}
${{ env.GHCR_IMAGE_NAME }}
flavor: |
latest=false
Expand Down Expand Up @@ -215,43 +217,51 @@ jobs:
tags: |
# Only version, no revision
type=match,pattern=v(.*)-(.*),group=1
# First, create manifests and push to GHCR

# Manifest for either branch or semver
- name: manifest-dockerhub
run: docker manifest create ${{ steps.meta-dockerhub.outputs.tags }} --amend ${{ steps.meta-dockerhub.outputs.tags }}-amd64 --amend ${{ steps.meta-dockerhub.outputs.tags }}-arm64v8
- name: manifest-ghcr
run: docker manifest create ${{ steps.meta-ghcr.outputs.tags }} --amend ${{ steps.meta-ghcr.outputs.tags }}-amd64 --amend ${{ steps.meta-ghcr.outputs.tags }}-arm64v8
# Optional manifest for latest
- name: manifest-dockerhub-latest
run: docker manifest create ${{ env.DOCKER_IMAGE_NAME }}:latest --amend ${{ steps.meta-dockerhub.outputs.tags }}-amd64 --amend ${{ steps.meta-dockerhub.outputs.tags }}-arm64v8
if: startsWith(github.ref, 'refs/tags/')
- name: manifest-ghcr-latest
run: docker manifest create ${{ env.GHCR_IMAGE_NAME }}:latest --amend ${{ steps.meta-ghcr.outputs.tags }}-amd64 --amend ${{ steps.meta-ghcr.outputs.tags }}-arm64v8
if: startsWith(github.ref, 'refs/tags/')
# Optional manifest for tag versions (includes revisions)
- name: manifest-dockerhub-tags
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
if: startsWith(github.ref, 'refs/tags/')
- name: manifest-ghcr-tags
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
if: startsWith(github.ref, 'refs/tags/')
# Push various manifests
- name: push-dockerhub
run: docker manifest push ${{ steps.meta-dockerhub.outputs.tags }}
- name: push-ghcr
run: docker manifest push ${{ steps.meta-ghcr.outputs.tags }}
- name: push-dockerhub-latest
run: docker manifest push ${{ env.DOCKER_IMAGE_NAME }}:latest
if: startsWith(github.ref, 'refs/tags/')
- name: push-ghcr-latest
run: docker manifest push ${{ env.GHCR_IMAGE_NAME }}:latest
if: startsWith(github.ref, 'refs/tags/')
- name: push-dockerhub-tags
run: docker manifest push ${{ steps.meta-dockerhub-tag.outputs.tags }}
if: startsWith(github.ref, 'refs/tags/')
- name: push-ghcr-tags
run: docker manifest push ${{ steps.meta-ghcr-tag.outputs.tags }}
if: startsWith(github.ref, 'refs/tags/')

# Now, create manifests for Docker Hub

- name: manifest-dockerhub
run: docker manifest create ${{ steps.meta-dockerhub.outputs.tags }} --amend ${{ steps.meta-dockerhub.outputs.tags }}-amd64 --amend ${{ steps.meta-dockerhub.outputs.tags }}-arm64v8
- name: manifest-dockerhub-latest
run: docker manifest create ${{ env.DOCKER_IMAGE_NAME }}:latest --amend ${{ steps.meta-dockerhub.outputs.tags }}-amd64 --amend ${{ steps.meta-dockerhub.outputs.tags }}-arm64v8
if: startsWith(github.ref, 'refs/tags/')
- name: manifest-dockerhub-tags
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
if: startsWith(github.ref, 'refs/tags/')
- name: push-dockerhub
run: docker manifest push ${{ steps.meta-dockerhub.outputs.tags }}
- name: push-dockerhub-latest
run: docker manifest push ${{ env.DOCKER_IMAGE_NAME }}:latest
if: startsWith(github.ref, 'refs/tags/')
- name: push-dockerhub-tags
run: docker manifest push ${{ steps.meta-dockerhub-tag.outputs.tags }}
if: startsWith(github.ref, 'refs/tags/')

# Update Docker Hub from README

- name: Docker Hub Description
uses: peter-evans/dockerhub-description@v3
with:
Expand Down

0 comments on commit 8f6eeb3

Please sign in to comment.