name: Create docker images

on: [create]

jobs:
  build:
    name: Build, push, and deploy
    if: ${{ startsWith(github.ref, 'refs/tags/v') }}
    runs-on: ubuntu-latest

    strategy:
      matrix:
        db-type: [postgresql, mysql]

    steps:
      - uses: actions/checkout@v3

      - name: Set env
        run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV

      - uses: mr-smithers-excellent/docker-build-push@v6
        name: Build & push Docker image to ghcr.io for ${{ matrix.db-type }}
        with:
          image: umami
          tags: ${{ matrix.db-type }}-${{ env.RELEASE_VERSION }}, ${{ matrix.db-type }}-latest
          buildArgs: DATABASE_TYPE=${{ matrix.db-type }}
          registry: ghcr.io
          multiPlatform: true
          platform: linux/amd64,linux/arm64
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - uses: mr-smithers-excellent/docker-build-push@v6
        name: Build & push Docker image to docker.io for ${{ matrix.db-type }}
        with:
          image: umamisoftware/umami
          tags: ${{ matrix.db-type }}-${{ env.RELEASE_VERSION }}, ${{ matrix.db-type }}-latest
          buildArgs: DATABASE_TYPE=${{ matrix.db-type }}
          registry: docker.io
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}