diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml new file mode 100644 index 0000000000..8000ecc436 --- /dev/null +++ b/.github/workflows/docs.yaml @@ -0,0 +1,49 @@ +name: Docs + +on: + push: + paths: + - 'Source/Docs/**' + pull_request: + paths: + - 'Source/Docs/**' + +permissions: + contents: write + +env: + BUILD_VERSION: 2.5.1.${{ github.run_number }} + +jobs: + + generate-docs: + name: Generate Documentation + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - name: Set python3.11 + uses: actions/setup-python@v4 + with: + python-version: '3.11' + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Update package repository + run: sudo apt-get -y -o Acquire::Check-Valid-Until=false update + - name: Install Graphviz + run: sudo apt-get install -y graphviz + - name: Install Sphinx dependencies + run: pip3 install sphinx sphinxcontrib.httpdomain sphinx-prompt sphinx_rtd_theme sphinx-tabs + - name: Generate HTML website + run: sphinx-build -b html Source/Docs sphinx-docs + - name: Copy CNAME file + run: cp Source/Docs/CNAME sphinx-docs/ + - name: Copy .nojekyll file + run: cp Source/Docs/.nojekyll sphinx-docs/ + - name: Deploy to GitHub Pages + if: github.event_name == 'push' && github.repository == 'mosa/MOSA-Project' && github.ref == 'refs/heads/master' + uses: JamesIves/github-pages-deploy-action@v4 + with: + folder: sphinx-docs + branch: docs