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