Add CI workflows and automated notebook publishing to GitHub Pages #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Enables automated validation, building, and per-branch deployment of Jupyter notebooks as HTML to GitHub Pages.
Workflows
.github/workflows/ci.yml— Validates notebooks on main: runs flake8, pytest, and executes all notebooks with 600s timeout.github/workflows/deploy-notebooks-pages.yml— Builds and deploys notebooks togh-pages/<branch>/on every push; generates branch indexBuild Infrastructure
scripts/build_notebooks.py— Discovers notebooks recursively, executes via nbconvert, exports to HTML preserving folder structure, creates error placeholders on failurerequirements.txt— Dependencies: jupyter, nbconvert, nbformat, pytest, flake8, black, pre-commitDockerfile— Python 3.11-slim with dependencies for containerized builds.pre-commit-config.yaml— black and flake8 hooks.gitignore— Excludes.venv,__pycache__,site/,gh-pages/,.ipynb_checkpoints/README.md— Documents workflows and local build usageUsage
Local build:
Enable Pages in Settings → Pages (source: gh-pages branch). Branch pages available at
https://<owner>.github.io/<repo>/<branch>/.Original prompt
Add CI, notebook build and deployment workflows, supporting scripts, tooling, and documentation to enable building, testing, linting, and publishing Jupyter notebooks as branch-specific HTML pages on GitHub Pages.
Files to add (exact contents provided):