Use docker/metadata-action

This simplifies specifying tags and will also generate metadata labels for the image as per [OpenContainers spec](https://github.com/opencontainers/image-spec/blob/main/annotations.md)
This commit is contained in:
Florian Piesche
2022-06-01 23:40:58 +01:00
committed by GitHub
parent 1b4caf4699
commit 12dd9d45b5

View File

@@ -41,10 +41,21 @@ jobs:
elif [ ${{ github.event.action }} == "release" ]; then
echo "::set-output name=tags::${{ github.event.release.tag_name }}"
else
echo "Unknown workflow trigger: ${{ github.event.action }}! Cannot determine tags."
echo "Unknown workflow trigger: ${{ github.event.action }}! Cannot determine default tag."
exit 1
fi
- name: Generate Docker image metadata
id: docker-meta
uses: docker/metadata-action@v4
with:
images: |
${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}
ghcr.io/${{ github.repository_owner }}/${{ secrets.DOCKERHUB_REPO }}
tags: |
raw=${{ steps.tags.outputs.tags }}
raw=latest
- name: setup platform emulator
uses: docker/setup-qemu-action@v1
@@ -64,8 +75,5 @@ jobs:
file: ./Dockerfile
platforms: linux/amd64,linux/arm,linux/arm64/v8
push: true
tags: |
${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:latest
${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:${{ steps.tags.outputs.tags }}
ghcr.io/${{ github.repository_owner }}/${{ secrets.DOCKERHUB_REPO }}:latest
ghcr.io/${{ github.repository_owner }}/${{ secrets.DOCKERHUB_REPO }}:${{ steps.tags.outputs.tags }}
tags: ${{ steps.docker-meta.outputs.tags }}
labels: ${{ steps.docker-meta.outputs.labels }}