Use `docker/metadata-action` to generate docker image tags (#12573)
Update the "Build docker images" GitHub Actions workflow to use
`docker/metadata-action` to generate docker image tags, instead of a
custom shell script.
Signed-off-by: Henry <97804910+henryclw@users.noreply.github.com>
2 files changed, 12 insertions, 19 deletions
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 124b17458f..d20d30c035 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -34,32 +34,24 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- # TODO: consider using https://github.com/docker/metadata-action instead of this
- # custom magic
- name: Calculate docker image tag
id: set-tag
- run: |
- case "${GITHUB_REF}" in
- refs/heads/develop)
- tag=develop
- ;;
- refs/heads/master|refs/heads/main)
- tag=latest
- ;;
- refs/tags/*)
- tag=${GITHUB_REF#refs/tags/}
- ;;
- *)
- tag=${GITHUB_SHA}
- ;;
- esac
- echo "::set-output name=tag::$tag"
+ uses: docker/metadata-action@master
+ with:
+ images: matrixdotorg/synapse
+ flavor: |
+ latest=false
+ tags: |
+ type=raw,value=develop,enable=${{ github.ref == 'refs/heads/develop' }}
+ type=raw,value=latest,enable=${{ github.ref == 'refs/heads/master' }}
+ type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
+ type=pep440,pattern={{raw}}
- name: Build and push all platforms
uses: docker/build-push-action@v2
with:
push: true
labels: "gitsha1=${{ github.sha }}"
- tags: "matrixdotorg/synapse:${{ steps.set-tag.outputs.tag }}"
+ tags: "${{ steps.set-tag.outputs.tags }}"
file: "docker/Dockerfile"
platforms: linux/amd64,linux/arm64
diff --git a/changelog.d/12573.docker b/changelog.d/12573.docker
new file mode 100644
index 0000000000..5cc8de50ac
--- /dev/null
+++ b/changelog.d/12573.docker
@@ -0,0 +1 @@
+Update the "Build docker images" GitHub Actions workflow to use `docker/metadata-action` to generate docker image tags, instead of a custom shell script. Contributed by henryclw.
\ No newline at end of file
|