name: Build & deploy docs

on: [push]

jobs:
  check-secrets:
    name: Check secrets
    runs-on: ubuntu-latest
    outputs:
      trigger-build: ${{ steps.trigger-build.outputs.defined }}
    steps:
      - id: trigger-build
        env:
          REPO_NAME: ${{ secrets.REPO_NAME }}
          BRANCH_REF: ${{ secrets.BRANCH_REF }}
        if: "${{ github.repository == env.REPO_NAME && github.ref == env.BRANCH_REF }}"
        run: echo "defined=true" >> "$GITHUB_OUTPUT"

  build-docs:
    name: Build and deploy documentation
    runs-on: ubuntu-latest
    needs: [check-secrets]
    if: needs.check-secrets.outputs.trigger-build == 'true'

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Setup python
      uses: actions/setup-python@v2
      with:
        python-version: "3.10"
        architecture: x64

    - name: Install dev requirements
      working-directory: ./docs
      run: pip install -r requirements.txt

    - name: Generate docs
      working-directory: ./docs
      run: make html

    - name: Deploy to gh-pages
      uses: peaceiris/actions-gh-pages@v3
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        publish_dir: ./docs/_build/html
