79286288

Date: 2024-12-16 23:07:01
Score: 0.5
Natty:
Report link

Following @BenjaminW's advice I simply moved the Sphinx docs to a subfolder of the MyST docs. I managed this with github actions (doing edits upon the one generated by myst).

The key was to remove the artifact uploads from the initial workflow then replace it with some linux commands for moving everything to the _site directory and uploading the _site directory as an artifact. Namely

      - name: Copy builds to site-directory
        run: |
            mv _build/html _site
            mv docs/_build/html _site/docs
            mkdir _site/nb
            mv nb/public _site/nb/public
      - name: Upload Site Artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: ./_site

Here's the complete file:

# This file was created by editing the file created by `myst init --gh-pages`
name: MyST and Sphinx GitHub Pages Deploy
on:
  push:
    branches: [main]
env:
  # `BASE_URL` determines the website is served from, including CSS & JS assets
  # You may need to change this to `BASE_URL: ''`
  BASE_URL: /${{ github.event.repository.name }}

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
  contents: read
  pages: write
  id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
  group: 'pages'
  cancel-in-progress: false
jobs:
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Pages
        uses: actions/configure-pages@v3
      - uses: actions/setup-node@v4
        with:
          node-version: 18.x
      - name: Install MyST Markdown
        run: npm install -g mystmd
      - name: Build MyST HTML Assets
        run: myst build --html
      - name: Install Sphinx and Dependencies
        run: |
          pip install sphinx sphinx-autodoc2 furo myst_parser
      - name: Sphinx Build HTML
        run: |
            (cd docs && make html)
      - name: Copy builds to site-directory
        run: |
            mv _build/html _site
            mv docs/_build/html _site/docs
            mkdir _site/nb
            mv nb/public _site/nb/public
      - name: Upload Site Artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: ./_site
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4
Reasons:
  • Long answer (-1):
  • Has code block (-0.5):
  • User mentioned (1): @BenjaminW's
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: brook