mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-07 18:18:42 -05:00
Adopts the shared versioning pattern for the MLSYSIM docs site without
touching the paper LaTeX or PyPI publish flow — both deliberately stay
under their existing identities. The site release_id binds to the docs
corpus + python source via release_hash, and the paper PDF rides
alongside as a bundled artifact (with its own LaTeX-driven version).
mlsysim/docs/_quarto.yml:
- <meta name="release-manifest" content="/mlsysim/release-manifest.json">
in include-in-header.
- shared/release/release-pill.html added to include-after-body.
.github/workflows/mlsysim-publish-live.yml:
- workflow_dispatch inputs: release_type, description, site_only,
explicit_version, confirm — same shape as staffml-publish-live.
- New `prepare:` job calls _release-prepare.yml for release_id math.
- New "Emit release manifest" step writes release-manifest.json into
the build dir before deploy. Hashes mlsysim/docs + mlsysim/python +
mlsysim/pyproject.toml; excludes _build/, .quarto, etc.
- New `create-tag:` job tags mlsysim-v<release_id> and drafts a
GitHub Release with auto notes after deploy succeeds.
- The existing `mlsysim-pypi-publish.yml` (tag-triggered, OIDC PyPI
push) remains untouched. Pushing the new mlsysim-v* tag will fire
it as before. Pyproject.toml's version field is unchanged — it
remains PyPI's source of truth, separate from this site's.