name: Release TubeSync

env:
  IMAGE_NAME: tubesync

on:
  release:
    types: [published]

jobs:
  containerise:
    runs-on: ubuntu-latest
    steps:
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v1
      - name: Get tag
        id: tag
        uses: dawidd6/action-get-tag@v1
      - uses: docker/build-push-action@v2
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1
      - name: Log into GitHub Container Registry
        run: echo "${{ secrets.REGISTRY_ACCESS_TOKEN }}" | docker login https://ghcr.io -u ${{ github.actor }} --password-stdin
      - name: Lowercase github username for ghcr
        id: string
        uses: ASzc/change-string-case-action@v1
        with:
          string: ${{ github.actor }}
      - name: Build and push
        uses: docker/build-push-action@v2
        with:
          platforms: linux/amd64,linux/arm64
          push: true
          tags: ghcr.io/${{ steps.string.outputs.lowercase }}/${{ env.IMAGE_NAME }}:${{ steps.tag.outputs.tag }}
          cache-from: type=registry,ref=ghcr.io/${{ steps.string.outputs.lowercase }}/${{ env.IMAGE_NAME }}:${{ steps.tag.outputs.tag }}
          cache-to: type=inline
          build-args: |
            IMAGE_NAME=${{ env.IMAGE_NAME }}
