on:
  push:
    branches: main
  pull_request:
    branches: main
  # to be able to trigger a manual build
  workflow_dispatch:
  schedule:
    # run every day at 11 PM
    - cron: '0 23 * * *'

name: Render and deploy Book to Netlify

env:
  isExtPR: ${{ github.event.pull_request.head.repo.fork == true }}
  RUST_BACKTRACE: 1

jobs:
  build-deploy:
    runs-on: ubuntu-latest
    env:
      GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
    steps:
      - uses: actions/checkout@v2

      - name: Install Quarto
        uses: quarto-dev/quarto-actions/install-quarto@v1
        with:
          # To install LaTeX to build PDF book
          tinytex: true
          # uncomment below and fill to pin a version
          # version: 0.9.105

      - uses: r-lib/actions/setup-r@v2
        with:
          use-public-rspm: true

      - uses: r-lib/actions/setup-r-dependencies@v2

      - name: Render book to all format
        # Add any command line argument needed
        run: |
          quarto render

      - name: Deploy to Netlify
        if: contains(env.isExtPR, 'false')
        id: netlify-deploy
        uses: nwtgck/actions-netlify@v1.1
        with:
          publish-dir: './_book'
          production-branch: main
          github-token: ${{ secrets.GITHUB_TOKEN }}
          deploy-message:
            'Deploy from GHA: ${{ github.event.pull_request.title || github.event.head_commit.message }} (${{ github.sha }})'
          enable-pull-request-comment: false
          enable-commit-comment: false
        env:
          NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
          NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID_2E }}
        timeout-minutes: 1