name: Docker Build Production

on:
  release:
    types: [published]

jobs:
  backend-tests:
    name: "Backend Server Tests"
    uses: ./.github/workflows/partial-backend.yml

  frontend-tests:
    name: "Frontend and End-to-End Tests"
    uses: ./.github/workflows/partial-frontend.yml

  build-release:
    name: Build Tagged Release
    uses: ./.github/workflows/partial-builder.yml
    needs:
      - backend-tests
      - frontend-tests
    with:
      tag: ${{ github.event.release.tag_name }}
    secrets:
      DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
      DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}

  publish-docs:
    name: Deploy docs
    runs-on: ubuntu-latest
    needs:
      - build-release
    steps:
      - name: Checkout main
        uses: actions/checkout@v2

      - name: Deploy docs
        uses: mhausenblas/mkdocs-deploy-gh-pages@master
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          CONFIG_FILE: docs/mkdocs.yml
          EXTRA_PACKAGES: build-base

  notify-discord:
    name: Notify Discord
    needs:
      - build-release
    runs-on: ubuntu-latest
    steps:
      - name: Discord notification
        env:
          DISCORD_WEBHOOK: ${{ secrets.DISCORD_RELEASE_WEBHOOK }}
        uses: Ilshidur/action-discord@0.3.2
        with:
          args: "🚀  Version {{ EVENT_PAYLOAD.release.tag_name }} of Mealie has been released. See the release notes https://github.com/hay-kot/mealie/releases/tag/{{ EVENT_PAYLOAD.release.tag_name }}"
