name: Generate Docs on: push: tags: - '*' # Only re-generate docs when a new tagged version is pushed pull_request: paths: - 'doc/doxygen/**' - '.github/workflows/documentation-build.yml' - 'Doxyfile' workflow_dispatch: env: COCKATRICE_REF: ${{ github.ref_name }} # Tag name if the commit is tagged, otherwise branch name jobs: docs: name: Doxygen runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v6 - name: Install Graphviz run: | sudo apt-get install -y graphviz dot -V - name: Install Doxygen uses: ssciwr/doxygen-install@v1 with: version: "1.14.0" - name: Update Doxygen Configuration run: | git diff Doxyfile doxygen -u Doxyfile if git diff --quiet Doxyfile; then echo "::notice::No config changes in Doxyfile detected." else echo "::error::Config changes in Doxyfile detected! Please update the file by running 'doxygen -u Doxyfile'." echo "" git diff --color=always Doxyfile exit 1 fi - name: Generate Documentation if: always() 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/