Optimization cookbook.
See CONTRIBUTING.md for the complete contributor workflow (uv setup, local Quarto render, testing, and PR process).
- Work on
developand open pull requests tomainfor publication. - CI (
ci-pytest.yml) runs onlypyteston pushes todevelop, pushes tomain, and pull requests. - Quarto rendering is performed locally on
develop. - GitHub Pages deployment (
deploy-pages.yml) runs only after successful CI onmainand publishes the committeddocs/folder. - GitHub Release publishing (
publish-release.yml) runs after successful Pages deployment onmain(or manually via workflow dispatch). - No personal access token is required for this setup; the workflow uses GitHub’s built-in
GITHUB_TOKEN.
Release tags use the pages-<sha12> format to keep each release directly traceable to the exact commit that was deployed to GitHub Pages.
- Update notebooks/qmd files on
develop. - Render locally:
quarto render. - Commit both source changes and updated
docs/output. - Open and merge a pull request into
main. - GitHub Actions runs
ci-pytest.ymland thendeploy-pages.ymlpublishes Pages fromdocs/. - After Pages deployment succeeds,
publish-release.ymlcreates or updates a GitHub Release for that published commit.
- Python 3.13+
- uv
- Quarto CLI
uv sync --group devuv run pytestquarto render
quarto previewThe rendered site is written to docs/ as configured in _quarto.yml.