name: Doxygen GitHub Pages Deploy Action

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4.1.1
        with:
          submodules: "true"
      - name: Install Doxygen
        run: |
          sudo apt-get install graphviz doxygen
          wget https://www.doxygen.nl/files/doxygen-1.13.2.linux.bin.tar.gz
          tar -xzf doxygen-*.linux.bin.tar.gz
      
      - name: Generate Doxygen documentation
        run: |
          ./doxygen-*/bin/doxygen Doxyfile
      
      - name: Create .nojekyll (ensures pages with underscores work on gh pages)
        run: touch docs/html/.nojekyll
      
      - name: Deploy to GitHub Pages
        uses: JamesIves/github-pages-deploy-action@v4
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          branch: gh-pages
          folder: docs/html