Files
Cockatrice/.github/workflows/documentation-build.yml
2025-10-04 19:17:33 +02:00

59 lines
1.8 KiB
YAML

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:
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
uses: actions/checkout@v5
- name: Install Doxygen and Graphviz
shell: bash
run: sudo apt-get install -y doxygen graphviz
- name: Generate Documentation
id: build_docs
shell: bash
run: doxygen Doxyfile
- name: Upload Documentation
id: upload_docs
if: steps.build_docs.outcome == 'success'
uses: actions/upload-artifact@v4
with:
name: Cockatrice_Docs
path: ./docs/html # Main output folder + subfolder defined in Doxygen config
if-no-files-found: error
- name: Deploy to cockatrice.github.io/docs
id: deploy_docs
if: github.event_name != 'pull_request' && steps.upload_docs.outcome == 'success'
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 # Main output folder + subfolder defined in Doxygen config
destination_dir: docs # Subfolder of the GitHub Pages URL where the docs live
- name: Link to Documentation Page
if: steps.deploy_docs.outcome == 'success'
shell: bash
run: echo "::notice title=New documentation published ::Shortly available at https://cockatrice.github.io/docs/"