Skip to content

Release v6.1.0: Web-based GUI #22

Release v6.1.0: Web-based GUI

Release v6.1.0: Web-based GUI #22

Workflow file for this run

name: Documentation
on:
push:
branches:
- develop
- main
- 'release/**'
paths:
- 'docs/**'
- 'fusion/**/*.py'
- '.github/workflows/docs.yml'
pull_request:
branches:
- develop
- main
- 'release/**'
paths:
- 'docs/**'
- 'fusion/**/*.py'
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
build:
name: Build Documentation
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y graphviz pandoc
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
# Install torch first (required before PyG packages)
pip install torch==2.2.2
# Install PyG packages with pre-built wheels
pip install torch-scatter torch-sparse torch-cluster torch-spline-conv -f https://data.pyg.org/whl/torch-2.2.2+cpu.html
# Install the rest of the requirements
pip install -r requirements.txt
# Install the package with dev dependencies
pip install -e .[dev]
# Install additional Sphinx packages
pip install sphinx sphinx-rtd-theme sphinx-copybutton sphinx-tabs myst-parser
- name: Build documentation
run: |
cd docs
make clean
make html
env:
# Note: -W flag removed to allow deployment despite warnings
# TODO: Re-enable -W after fixing documentation warnings
SPHINXOPTS: "--keep-going"
- name: Check documentation build
run: |
if [ ! -f docs/_build/html/index.html ]; then
echo "Error: Documentation build failed - index.html not found"
exit 1
fi
echo "Documentation built successfully!"
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: documentation-html
path: docs/_build/html/
retention-days: 7
- name: Upload Pages artifact
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
uses: actions/upload-pages-artifact@v3
with:
path: docs/_build/html/
deploy:
name: Deploy to GitHub Pages
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
link-check:
name: Check Links
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install sphinx sphinx-rtd-theme sphinx-copybutton sphinx-tabs myst-parser
- name: Check links
run: |
cd docs
make linkcheck
continue-on-error: true
spell-check:
name: Spell Check
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install codespell
run: pip install codespell
- name: Run spell checker
run: |
codespell docs/ \
--skip="docs/_build,docs/_static,*.svg" \
--ignore-words-list="te,nd,ue,ba,hist" \
--quiet-level=2
continue-on-error: true