Run only on release (and produce release tags)

As this workflow takes quite a lot of time, and [pushing to master happens frequently](https://github.com/matrix-org/dendrite/pull/1613#issuecomment-746086980), the container will now only be built when a release is created, and the builds will also be correctly tagged.
This commit is contained in:
TR_SLimey 2020-12-16 17:19:45 +00:00 committed by GitHub
parent f8de73e8c9
commit cd659163dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,8 +3,8 @@
name: "Docker Multiarch Build & Push" name: "Docker Multiarch Build & Push"
on: on:
push: release:
branches: [master] types: [published]
env: env:
DOCKER_HUB_USER: matrixdotorg DOCKER_HUB_USER: matrixdotorg
@ -16,6 +16,9 @@ jobs:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
-
name: Get release tag
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- -
name: Set up QEMU name: Set up QEMU
uses: docker/setup-qemu-action@v1 uses: docker/setup-qemu-action@v1
@ -29,7 +32,7 @@ jobs:
username: ${{ env.DOCKER_HUB_USER }} username: ${{ env.DOCKER_HUB_USER }}
password: ${{ secrets.DOCKER_TOKEN }} password: ${{ secrets.DOCKER_TOKEN }}
- -
name: Build temporary image name: Build temporary (builder) image
id: docker_build_temporary id: docker_build_temporary
uses: docker/build-push-action@v2 uses: docker/build-push-action@v2
with: with:
@ -47,7 +50,7 @@ jobs:
file: ./build/docker/Dockerfile.monolith file: ./build/docker/Dockerfile.monolith
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true push: true
tags: ${{ env.DOCKER_HUB_USER }}/dendrite-monolith:latest tags: ${{ env.DOCKER_HUB_USER }}/dendrite-monolith:${{ env.RELEASE_VERSION }}
- -
name: Build polylith image name: Build polylith image
id: docker_build_polylith id: docker_build_polylith
@ -57,9 +60,9 @@ jobs:
file: ./build/docker/Dockerfile.polylith file: ./build/docker/Dockerfile.polylith
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true push: true
tags: ${{ env.DOCKER_HUB_USER }}/dendrite-polylith:latest tags: ${{ env.DOCKER_HUB_USER }}/dendrite-polylith:${{ env.RELEASE_VERSION }}
- -
name: Image digest name: Image digest
run: | run: |
echo Monolith image digest - ${{ steps.docker_build_monolith.outputs.digest }} echo Monolith ( ${{ env.RELEASE_VERSION }} ) image digest - ${{ steps.docker_build_monolith.outputs.digest }}
echo Polylith image digest - ${{ steps.docker_build_polylith.outputs.digest }} echo Polylith ( ${{ env.RELEASE_VERSION }} ) image digest - ${{ steps.docker_build_polylith.outputs.digest }}