Repository navigation
ci(docs) Add inventories and 0.1.0 release docs - #796
Merged
Merged
Conversation
why: The site still presented libtmux as an alpha: badges, notices, install commands and examples carried alpha pins and prerelease flags, and a docs channel stood for a release state that no libtmux release has. A Sphinx project had no inventory to link to, tmux commands and cross-port links sat in small rows under each declaration, TypeScript aliases showed no declaration, and native Python documentation pages listed every page in one flat sidebar column. what: - Publish `objects.inv` and `targets.json` at the root of each port version, naming the pages, headings, workspace table rows, MCP schema fields, command options and API declarations the build rendered, and stop the build when an API declaration has no rendered target (`inventory.ts`, `inventory-publisher.ts`, `inventory-targets.ts`, `targets.ts`; libtmux/docs#166) - Link the footer of a port page to the inventory of its port version, to the full inventory and to a guide on linking from Sphinx, and list the same inventory and target files in the `docs.json` manifest (`SiteFooter.astro`, `inventory-links.ts`, `docs.json.ts`; libtmux/docs#166) - Export the rows of the shared workspace command and configuration tables as Sphinx option, setting and environment variable targets, and keep a page's identity across a move through `inventoryId` and `inventoryAliases` in its frontmatter (`rehype-row-anchors.ts`, `load.md`, `panes.md`, `environment.md`, `content.config.ts`; libtmux/docs#166) - Link the AI policy, which the root site publishes at `/meta/ai-policy/`, from the footer (`SiteFooter.astro`, `ai-policy.md`; libtmux/docs#194) - Show a final release on its badge as its series, 0.x for 0.1.0, with the line "Released; the API may change.", and replace the alpha notice with an early-release notice that returns once for a reader who dismissed it (`ports.ts`, `registry.json`, `PrereleaseNotice.astro`; libtmux/docs#200) - Remove the stable docs channel: a release tag publishes at its own version, a prerelease also as `next`, and the newest final release tag is the default and indexed version, or `latest` while the port has none; an older tag pushed later does not take the default (`port-docs-identity.sh`, `publish-plan.mjs`, `gen-versions.mjs`, `versions.ts`; libtmux/docs#201) - Leave a release-numbering label such as 0.1.N plain in prose instead of resolving it as an API name (`resolver.ts`; libtmux/docs#204) - Give a symbol's tmux commands, tmux C declarations, hooks, options and formats, Guides and equivalents in other ports their own sections on its API reference page and in its Markdown export, ahead of Related types (`api-tmux-sections.ts`, `ApiTmuxSections.astro`, `ApiReference.astro`; libtmux/docs#202) - Draw the nested guide line in every sidebar layout, set Grouped's group headings bold as Outline's are, and make the API glossary the last row of the reference sidebar and the last search result (`api-tree.css`, `ApiTree.astro`, `api-tree.ts`; libtmux/docs#208) - Open the preview card of a glossary link only after the pointer rests on it for a second, and let Escape cancel a card that has not opened (`link-preview-browser.ts`; libtmux/docs#211) - Let Tab move from the footer's inventory help link to the link in its tooltip at once (`SiteFooter.astro`; libtmux/docs#211) - Set the title of an index-style reference page, such as API reference, in the sans face (`ApiReference.astro`; libtmux/docs#211) - Start the permalink, source link and badges of a native Python declaration on its first signature line, so they stay level with it when the signature wraps (`native-sphinx.css`; libtmux/docs#198) - Pin a top-level Python class declaration under the header while its members scroll, and offset an anchored member by the pinned row's measured height, none until it is measured, so it lands below the row (`native-sphinx.css`, `NativeSphinxScript.astro`; libtmux/docs#198, libtmux/docs#211) - Show the Sphinx toctree in the sidebar of native Python documentation pages, with its captions as headings, branches that nest and open down to the current page, external rows that open in a new tab, and search results labelled by path (`native-shell-context.mjs`, `native-shell.ts`, `NativeShell.astro`; libtmux/docs#209) - Set the section titles of the MCP reference in the sans face, and keep its sidebar guide line under the parent label and not through the row's own text (`ProtocolReference.astro`, `api-tree.css`; libtmux/docs#211) Shared source: libtmux/docs From: 00045828e6457d142d58933f603665a2ead35811 To: e1ab401f7d6fca5ac9c418bc6c77ca382320cd2e
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## docs-site-deploy #796 +/- ##
=================================================
Coverage 52.37% 52.37%
=================================================
Files 26 26
Lines 3729 3729
Branches 747 747
=================================================
Hits 1953 1953
Misses 1472 1472
Partials 304 304 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pin only the shared port builder and publisher to
e1ab401f7d6fca5ac9c418bc6c77ca382320cd2efrom00045828e6457d142d58933f603665a2ead35811. All other workflow bytes, library contents, triggers, permissions and language/source/version inputs remain unchanged.Publish
objects.invandtargets.jsonat the root of each port version, naming the pages, headings, workspace table rows, MCP schema fields, command options and API declarations the build rendered, and stop the build when an API declaration has no rendered target (inventory.ts,inventory-publisher.ts,inventory-targets.ts,targets.ts; Publish durable Sphinx inventories and footer links libtmux/docs#166)Link the footer of a port page to the inventory of its port version, to the full inventory and to a guide on linking from Sphinx, and list the same inventory and target files in the
docs.jsonmanifest (SiteFooter.astro,inventory-links.ts,docs.json.ts; Publish durable Sphinx inventories and footer links libtmux/docs#166)Export the rows of the shared workspace command and configuration tables as Sphinx option, setting and environment variable targets, and keep a page's identity across a move through
inventoryIdandinventoryAliasesin its frontmatter (rehype-row-anchors.ts,load.md,panes.md,environment.md,content.config.ts; Publish durable Sphinx inventories and footer links libtmux/docs#166)Link the AI policy, which the root site publishes at
/meta/ai-policy/, from the footer (SiteFooter.astro,ai-policy.md; Publish the AI policy libtmux/docs#194)Show a final release on its badge as its series, 0.x for 0.1.0, with the line "Released; the API may change.", and replace the alpha notice with an early-release notice that returns once for a reader who dismissed it (
ports.ts,registry.json,PrereleaseNotice.astro; Document the 0.1.0 releases and drop stable from the site libtmux/docs#200)Remove the stable docs channel: a release tag publishes at its own version, a prerelease also as
next, and the newest final release tag is the default and indexed version, orlatestwhile the port has none; an older tag pushed later does not take the default (port-docs-identity.sh,publish-plan.mjs,gen-versions.mjs,versions.ts; Remove the stable docs channel libtmux/docs#201)Leave a release-numbering label such as 0.1.N plain in prose instead of resolving it as an API name (
resolver.ts; Navigate PowerShell's .NET dependency at 0.1.0 libtmux/docs#204)Give a symbol's tmux commands, tmux C declarations, hooks, options and formats, Guides and equivalents in other ports their own sections on its API reference page and in its Markdown export, ahead of Related types (
api-tmux-sections.ts,ApiTmuxSections.astro,ApiReference.astro; Give tmux and cross-port links their own reference sections libtmux/docs#202)Draw the nested guide line in every sidebar layout, set Grouped's group headings bold as Outline's are, and make the API glossary the last row of the reference sidebar and the last search result (
api-tree.css,ApiTree.astro,api-tree.ts; Draw sidebar guide lines in every layout and put the glossary last libtmux/docs#208)Open the preview card of a glossary link only after the pointer rests on it for a second, and let Escape cancel a card that has not opened (
link-preview-browser.ts; Merge train: native CSS fix, reference UI fixes, 0.1.0 examples (#212) libtmux/docs#211)Let Tab move from the footer's inventory help link to the link in its tooltip at once (
SiteFooter.astro; Merge train: native CSS fix, reference UI fixes, 0.1.0 examples (#212) libtmux/docs#211)Set the title of an index-style reference page, such as API reference, in the sans face (
ApiReference.astro; Merge train: native CSS fix, reference UI fixes, 0.1.0 examples (#212) libtmux/docs#211)Start the permalink, source link and badges of a native Python declaration on its first signature line, so they stay level with it when the signature wraps (
native-sphinx.css; Align and pin native Python declaration rows libtmux/docs#198)Pin a top-level Python class declaration under the header while its members scroll, and offset an anchored member by the pinned row's measured height, none until it is measured, so it lands below the row (
native-sphinx.css,NativeSphinxScript.astro; Align and pin native Python declaration rows libtmux/docs#198, Merge train: native CSS fix, reference UI fixes, 0.1.0 examples (#212) libtmux/docs#211)Show the Sphinx toctree in the sidebar of native Python documentation pages, with its captions as headings, branches that nest and open down to the current page, external rows that open in a new tab, and search results labelled by path (
native-shell-context.mjs,native-shell.ts,NativeShell.astro; Show the Sphinx toctree in native documentation sidebars libtmux/docs#209)Set the section titles of the MCP reference in the sans face, and keep its sidebar guide line under the parent label and not through the row's own text (
ProtocolReference.astro,api-tree.css; Merge train: native CSS fix, reference UI fixes, 0.1.0 examples (#212) libtmux/docs#211)The site still presented libtmux as an alpha: badges, notices, install commands and examples carried alpha pins and prerelease flags, and a docs channel stood for a release state that no libtmux release has. A Sphinx project had no inventory to link to, tmux commands and cross-port links sat in small rows under each declaration, TypeScript aliases showed no declaration, and native Python documentation pages listed every page in one flat sidebar column.
The exact required CI and root merge receipts of the shared checkpoint must be verified before this operator runs. This PR does not claim an owner build or publication pass. Root reviews this exact caller diff, actual repository-required checks and reviews before merge; optional native estate checks are not a new universal gate.
Execution route:
exact_source_manual_dispatch_after_root_controlled_pin_merge. Root separately schedules reviewed merges and exact source requests from the actual workflow state. If the current active workflow already publishes the intended source on merge, retain that actual event and do not issue a duplicate request. Future source/native/run identities will be bound to actual events.