name: Docs on: push: branches: [master, main] tags: - 'v*' pull_request: jobs: docs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt - name: Build pycapnp and install run: | python setup.py build pip install . - name: Build documentation run: | sphinx-build docs build/html - name: Upload documentation artifact uses: actions/upload-artifact@v4 with: name: html-docs path: build/html deploy: needs: docs if: startsWith(github.ref, 'refs/tags/v') runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt - name: Build pycapnp and install run: | python setup.py build pip install . - name: Build documentation run: | sphinx-build docs build/html touch build/html/.nojekyll - name: Deploy to gh-pages uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./build/html publish_branch: gh-pages