name: Deploy Sphinx Doc to Pages on: pull_request: types: [opened, synchronize] paths: - 'docs/sphinx_doc/**/*' push: branches: - main jobs: pages: timeout-minutes: 30 runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] python-version: ['3.12'] env: OS: ${{ matrix.os }} PYTHON: '3.12' steps: - name: Free up disk space run: | sudo rm -rf /usr/share/dotnet /opt/ghc /usr/local/lib/android docker system prune -af - name: Checkout PR branch if: github.event_name == 'pull_request' uses: actions/checkout@v4 with: repository: ${{ github.event.pull_request.head.repo.full_name }} ref: ${{ github.event.pull_request.head.ref }} fetch-depth: 0 - name: Checkout main branch if: github.event_name != 'pull_request' uses: actions/checkout@v4 with: ref: ${{ github.ref_name }} fetch-depth: 0 - name: Setup Python ${{ matrix.python-version }} uses: actions/setup-python@master with: python-version: ${{ matrix.python-version }} - name: Install Dependencies run: | pip install -e .[doc] - id: build name: Build Documentation run: | cd docs/sphinx_doc if [ "${{ github.ref }}" = "refs/heads/main" ]; then ./build_doc.sh else BRANCH_NAME=$(git branch --show-current) ./build_doc.sh --branch "$BRANCH_NAME" fi - name: Add redirect index.html to main version run: | if [ "${{ github.ref }}" = "refs/heads/main" ]; then BRANCH_NAME="main" else BRANCH_NAME=$(git branch --show-current) fi REDIRECT_PATH="docs/sphinx_doc/build/html/index.html" MAIN_INDEX="en/${BRANCH_NAME}/index.html" cat > $REDIRECT_PATH < Redirecting...

Redirecting to $MAIN_INDEX

EOF - name: Upload Documentation uses: actions/upload-artifact@v4 with: name: SphinxDoc path: 'docs/sphinx_doc/build' - uses: peaceiris/actions-gh-pages@v3 if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: 'docs/sphinx_doc/build/html'