name: Docker Nightly Release

on:
  push:
    branches: [ nightly ]
  pull_request:
    branches: [ nightly ]

jobs:

  docker-nightly:
    runs-on: ubuntu-latest
    steps:

      - name: Check Out Repo
        uses: actions/checkout@v3
        with:
          ref: nightly

      - name: Login to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKER_HUB_USERNAME }}
          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}

      - name: Set up QEMU
        uses: docker/setup-qemu-action@master
        with:
          platforms: all

      - name: Set up Docker Buildx
        id: buildx
        uses: docker/setup-buildx-action@v2

      - name: Build and push
        id: docker_build
        uses: docker/build-push-action@v3
        with:
          context: ./
          file: ./Dockerfile
          platforms: linux/amd64,linux/arm64
          push: true
          tags: ${{ secrets.DOCKER_HUB_USERNAME }}/plex-meta-manager:nightly

      - name: Send Discord Commit Notification
        uses: meisnate12/discord-notifications@master
        with:
          webhook_id: ${{ secrets.NIGHTLY_WEBHOOK_ID }}
          webhook_token: ${{ secrets.NIGHTLY_WEBHOOK_TOKEN }}
          title: Nightly Commits
          message: "<@&967002147520675840>"
          commits: "true"
          username: Metabot
          avatar_url: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/nightly/.github/pmm.png

      - name: Discord Success Notification
        uses: meisnate12/discord-notifications@master
        if: success()
        with:
          webhook_id: ${{ secrets.BUILD_WEBHOOK_ID }}
          webhook_token: ${{ secrets.BUILD_WEBHOOK_TOKEN }}
          title: "nightly build: **Success**"
          url: https://github.com/meisnate12/Plex-Meta-Manager/actions/runs/${{ github.run_id }}
          username: Metabot
          avatar_url: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/nightly/.github/pmm.png
          author: Docker
          author_icon_url: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/nightly/.github/docker.png

      - name: Discord Failure Notification
        uses: meisnate12/discord-notifications@master
        if: failure()
        with:
          webhook_id: ${{ secrets.BUILD_WEBHOOK_ID }}
          webhook_token: ${{ secrets.BUILD_WEBHOOK_TOKEN }}
          title: "nightly build: **Failure**"
          color: 0xe30c43
          url: https://github.com/meisnate12/Plex-Meta-Manager/actions/runs/${{ github.run_id }}
          username: Metabot
          avatar_url: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/nightly/.github/pmm.png
          author: Docker
          author_icon_url: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/nightly/.github/docker.png
