diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a0719f7..3aa6d47 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -42,6 +42,7 @@ jobs: uses: docker/metadata-action@v4 with: images: | + ${{ env.DOCKER_IMAGE_NAME }} ${{ env.GHCR_IMAGE_NAME }} flavor: | latest=false @@ -108,6 +109,7 @@ jobs: uses: docker/metadata-action@v4 with: images: | + ${{ env.DOCKER_IMAGE_NAME }} ${{ env.GHCR_IMAGE_NAME }} flavor: | latest=false @@ -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: