name: Build and Publish Docker Image on: release: types: [published, prereleased] env: IMAGE_NAME: openharbor/osrm-backend jobs: publish: strategy: matrix: docker-base-image: ["debian", "alpine"] runs-on: ubuntu-latest steps: - name: Check out the repo uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Docker meta id: meta uses: docker/metadata-action@v4 with: images: ${{ env.IMAGE_NAME }} - name: Docker meta - debug id: metadebug uses: docker/metadata-action@v4 with: images: ${{ env.IMAGE_NAME }} flavor: | latest=true suffix=-debug,onlatest=true - name: Log in to DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }} - name: Build and push debug image uses: docker/build-push-action@v4 with: push: true platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/riscv64 file: ./docker/Dockerfile-${{ matrix.docker-base-image }} tags: ${{ steps.metadebug.outputs.tags }} build-args: | DOCKER_TAG=${{ join(steps.metadebug.outputs.tags) }}-${{ matrix.docker-base-image }} - name: Build and push normal image uses: docker/build-push-action@v4 with: push: true platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/riscv64 file: ./docker/Dockerfile-${{ matrix.docker-base-image }} tags: ${{ steps.meta.outputs.tags }} build-args: | DOCKER_TAG=${{ join(steps.meta.outputs.tags) }}-${{ matrix.docker-base-image }}