Skip to content

Add API-doc site, format gate, recipe.yaml, bench - #3

Merged
conorbronsdon merged 2 commits into
mainfrom
ehsan-quick-wins
Jul 8, 2026
Merged

Add API-doc site, format gate, recipe.yaml, bench#3
conorbronsdon merged 2 commits into
mainfrom
ehsan-quick-wins

Conversation

@conorbronsdon

Copy link
Copy Markdown
Owner

Suite-wide quick wins, following the pattern established in mojo-xml and mojo-feed:

  • Canonical formatting: committed mojo format output as its own commit, then added a format gate to the test workflow (mojo format + git diff --exit-code) so CI fails if sources drift from canonical format.
  • API-doc site: docs/render_api.py (same renderer as mojo-xml) plus a docs.yaml workflow that builds mojo doc JSON into a static HTML API reference and deploys it to GitHub Pages.
  • recipe.yaml: rattler-build recipe for eventual conda-channel publishing (ships the pure-Mojo source tree with a runtime mojo pin, not a compiled .mojopkg). Not wired to CI.
  • bench/: small compiled benchmark timing urlparse/urlunparse round-trips and parse_qsl/urlencode round-trips over the CPython byte-match fixture corpus (test/data/fixtures.txt). Corpus is tiny, so it iterates 20k times for stable numbers. Local pixi run bench only, not in CI.
  • pixi tasks: fmt, docs, bench added to pixi.toml; .gitignore extended for generated artifacts.
  • Docstring lint: package docstring summary now starts with a capitalized word (mojo doc emits no summary warning).

Verified locally: pixi run test (38/38 pass, 173/173 fixture byte-match), pixi run docs, pixi run bench, and the format-gate simulation (pixi run fmt && git diff --exit-code) all pass.

🤖 Generated with Claude Code

@conorbronsdon
conorbronsdon merged commit 83100f4 into main Jul 8, 2026
1 check passed
@conorbronsdon
conorbronsdon deleted the ehsan-quick-wins branch July 8, 2026 03:51
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