name: Generate Docs

on:
  push:
    tags:
      - '*'   # Only re-generate docs when a new tagged version is pushed
  pull_request:
    paths:
      - '.github/workflows/documentation-build.yml'
      - 'Doxyfile'
      - 'doxygen_style.css'
  workflow_dispatch:

jobs:
  docs:
    name: Doxygen
    runs-on: ubuntu-latest

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

      - name: Install Doxygen and Graphviz
        run: sudo apt-get install -y doxygen graphviz

      - name: Generate Documentation
        run: doxygen Doxyfile

      - name: Deploy to cockatrice.github.io
        if: github.event_name != 'pull_request'
        uses: peaceiris/actions-gh-pages@v4
        with:
          deploy_key: ${{ secrets.DOCS_DEPLOY_KEY }}
          external_repository: Cockatrice/cockatrice.github.io
          publish_branch: master
          publish_dir: ./docs/html
          destination_dir: docs   # Docs will live under https://cockatrice.github.io/docs/
