dendrite/.github/workflows/docker-build-and-push.yml
2021-01-18 10:26:36 +00:00

74 lines
2.3 KiB
YAML

# Based on https://github.com/docker/build-push-action
name: "Docker Multiarch Build & Push"
on:
push:
# types: [published]
branches: [master]
env:
DOCKER_HUB_USER: neilalexander
jobs:
BuildAndPush:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Get release tag
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ env.DOCKER_HUB_USER }}
password: ${{ secrets.DOCKER_TOKEN }}
-
name: Build temporary (builder) image
id: docker_build_temporary
uses: docker/build-push-action@v2
with:
context: .
file: ./build/docker/Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: false
tags: ${{ env.DOCKER_HUB_USER }}/dendrite:latest
-
name: Build monolith image
id: docker_build_monolith
uses: docker/build-push-action@v2
with:
context: .
file: ./build/docker/Dockerfile.monolith
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: |
${{ env.DOCKER_HUB_USER }}/dendrite-monolith:latest
${{ env.DOCKER_HUB_USER }}/dendrite-monolith:${{ env.RELEASE_VERSION }}
-
name: Build polylith image
id: docker_build_polylith
uses: docker/build-push-action@v2
with:
context: .
file: ./build/docker/Dockerfile.polylith
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: |
${{ env.DOCKER_HUB_USER }}/dendrite-polylith:latest
${{ env.DOCKER_HUB_USER }}/dendrite-polylith:${{ env.RELEASE_VERSION }}
-
name: Image digest
run: |
echo Monolith ( ${{ env.RELEASE_VERSION }} ) image digest - ${{ steps.docker_build_monolith.outputs.digest }}
echo Polylith ( ${{ env.RELEASE_VERSION }} ) image digest - ${{ steps.docker_build_polylith.outputs.digest }}