You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Docs] Rebuild JSDoc site as a pure function of manifest + git tags (#1553)
Replace the gh-pages branch cache with a stateless build so the published documentation site is fully reproducible from a curated manifest and the Git release tags. Every deploy rebuilds the complete site from scratch, so there is no branch state that can drift.
- Add tools/jsdoc/published-versions.json: a curated manifest (30 versions) that is the single source of truth for which versions are published.
- Rewrite tools/jsdoc/regenerate-published-docs.js as one linear build path: every manifest version is rebuilt from its Git release tag via `git worktree` + jsdoc (using the current template, so all versions render consistently), shared assets are hoisted to docs/_static, and the landing index is regenerated. Drop the gh-pages cache, prune/self-heal logic, the per-version asset copies, and all the old mode flags. Remaining flags: --out, --manifest (both now validate that a value follows the flag).
- package.json: replace `docs:gh-pages` / `docs:gh-pages:full` with a single `docs:publish` script.
- .github/workflows/deploy-docs.yml: set `contents: read`, remove the gh-pages fetch and write-back steps, run `npm run docs:publish`, and upload build/published-docs as the Pages artifact.
- tools/jsdoc/README.md: document the stateless manifest + tags model and the new naming; drop the obsolete "Recovering a Dropped Version" section and redundant gh-pages references.
Fix: #1552
"$comment": "Curated list of rclnodejs versions whose JSDoc is published to GitHub Pages. This file is the source of truth for the published set: add a version here when cutting its release. Each deploy rebuilds every listed version from its Git tag, plus the current package.json version from the workspace, so the live site is a pure function of this manifest and the tags.",
0 commit comments