Skip to content

Publish versioned API docs on GitHub Pages - #4

Merged
liufengyun merged 5 commits into
mainfrom
docs/github-pages
Oct 18, 2026
Merged

liufengyun merged 5 commits into
mainfrom
docs/github-pages

Conversation

@liufengyun

@liufengyun liufengyun commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Summary

Publish unified jtest API documentation directly on GitHub Pages. The site root redirects to the newest listed version, currently /0.2.0/. Older releases remain available directly at /0.1.0/ and future /<version>/ paths. The root redirect preserves query strings and API symbol links.

Generate assertions, suites, and the shared Python/Ruby runner API together in one Jo doc compiler pass, using the release's README.md as the API home page. Package one jtest-docs-vVERSION.zip with a SHA-512 checksum per release. The Pages builder downloads and verifies each version listed in docs/api-versions.jsonl and produces the root redirect plus version directories using Python's standard library.

Update RELEASE.md with unified doc generation, packaging, upload, historical backfill, and Pages publication commands. CI checks the API archive, and the Docs workflow validates PRs and deploys changes merged to main.

Initial setup is complete: unified API archives and checksums were generated from published tags v0.1.0 and v0.2.0, with their original READMEs, and added as new release assets. GitHub Pages is configured to use Actions with the custom domain jtest.jo-lang.org. Merging this PR deploys to https://jtest.jo-lang.org/.

Check list

  • Add tests
  • Update CHANGELOG.md

Validation:

  • Both runner conformance suites, output parity/clean-exit checks, and all three package builds passed.
  • Unified API generation and archive packaging passed, including verification of assertions, suite declarations, and a single shared runner API.
  • Seven documentation tests passed, covering archive contents and README, semantic latest-version selection, retained version URLs, root redirects, checksums, invalid archive paths, and stale/incomplete docs.
  • Site preparation from the actual public release archives passed.
  • Browser checks passed for the root redirect with API symbol links and both direct version URLs, with or without trailing slashes.
  • The GitHub Docs build passed for the site implementation.
  • Workflow YAML parsing and git diff --check passed.

Local validation used Jo 0.14.0, Python 3.10.12, and Ruby 3.0.2. Historical 0.1.0 docs used Jo 0.13.11; CI targets Python 3.12 and Ruby 3.3.

Compatibility

Public API signatures, package versions, and runtime requirements are unchanged. Published API docs remain snapshots of their release sources. New versions are appended to the manifest after their unified archive and checksum are uploaded; prior entries are retained to preserve direct version URLs. The website build uses Python's standard library.

@liufengyun liufengyun changed the title Publish versioned API docs and changelog with GitHub Pages Publish versioned API docs on GitHub Pages Oct 18, 2026
@liufengyun
liufengyun merged commit 491304e into main Oct 18, 2026
3 checks passed
@liufengyun
liufengyun deleted the docs/github-pages branch October 18, 2026 19:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant