Skip to content

Docs(ci): Adopt Sphinx inventories - #787

Draft
tony wants to merge 1 commit into
docs-site-deployfrom
sphinx-inventories
Draft

tony wants to merge 1 commit into
docs-site-deployfrom
sphinx-inventories

Conversation

@tony

@tony tony commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Sphinx projects need discoverable references to the Python documentation on libtmux.org. Pin the docs build and publisher to the rebased inventory producer from libtmux/docs#166. Built versions gain objects.inv, targets.json, footer downloads and Sphinx setup help. Root publication composes objects-full.inv from selected default catalogs.

The producer is rebased onto docs main and retains #157's exact head. It includes durable target identities, migration aliases, canonical Sphinx option aliases and uv-managed Python tooling with Ruff and ty.

Targets docs-site-deploy, the existing libtmux.org publishing integration.

Validation

  • Rebased onto 37151aca55f6fcbbda9a73e38c61e3d9b203f7d2. Only .github/workflows/docs.yml changes, with both producer refs set to the same commit. All non-pin content is preserved.
  • Actionlint 1.7.12 reports the identical concurrency.queue diagnostics on the pinned base and this branch; no new messages. GitHub documents the field in its concurrency reference.
  • At the rebased docs producer, lint, formatting, ty and workspace type checks pass. Focused inventory suites pass 68 tests, with seven assembled-output tests explicitly skipped in source-only mode.
  • Fresh local HTTP consumers under Sphinx 8.2.3 and 9.1.0 each pass 3,028 RST and 3,028 MyST references across 16 catalogs. Compiled desktop/phone footer controls and all sixteen exact-byte inventory downloads pass. The prior CI artifact's source tree is identical to the rebased producer.
  • The docs outer loop hits the real-corpus resolver test's five-second timeout; that test passes in isolation. This is not an overall outer-loop pass. Native library matrices were not rerun locally for this workflow-only change.

Keep this PR as a draft for review. Update both refs to the landed docs commit before merging, and publish every selected default catalog, including Python stable, before canonical root composition. Newly triggered CI and live publication remain separate from the local checks above.

@codecov

codecov Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52.45%. Comparing base (37151ac) to head (d0b9485).

Additional details and impacted files
@@                 Coverage Diff                  @@
##           docs-site-deploy     #787      +/-   ##
====================================================
+ Coverage             52.37%   52.45%   +0.08%     
====================================================
  Files                    26       26              
  Lines                  3729     3729              
  Branches                747      747              
====================================================
+ Hits                   1953     1956       +3     
+ Misses                 1472     1469       -3     
  Partials                304      304              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

why: Sphinx consumers need discoverable port references, and the root
publisher needs a catalog for the selected default version.

what:
- Adopt scoped inventories, catalogs and footer discovery
- Adopt the reference fixes and generic links from docs PR 157
- Use the shared publisher's locked uv, Ruff and ty tooling
- Restrict scoped inventory to the actual port/version mount
- Place inventory setup help under the site meta section
- Declare the three-day uv cooldown for portable locked installs
- Make the Python CLI checks executable for Linux Ruff
- Keep decorative kind marks out of row and inventory names
- Resolve command options under native Sphinx program contexts
- Keep both docs workflow pins on the same revision

validation: YAML, callee bindings, paired pins and minimal diffs pass.
The combined docs branch passes 221 site and 23 Swift model checks,
Ruff, formatting, ty and TypeScript checks; 23 assembled-tree contracts
were skipped. Complete publication evidence remains a separate gate.

Docs source: libtmux/docs@205ecac
@tony
tony force-pushed the sphinx-inventories branch from 34a9112 to d0b9485 Compare October 20, 2026 00:43

This branch has not been deployed

No deployments
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