Skip to content

Docs(feat): Publish the Lua reference from this repository - #5

Merged
tony merged 8 commits into
masterfrom
docs-site
Sep 26, 2026
Merged

tony merged 8 commits into
masterfrom
docs-site

Conversation

@tony

@tony tony commented Sep 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Export: generate the Lua API model and source guides for libtmux.org from this repository's exact revision.
  • Publish: build pull requests, master, v*.x branches and release tags through the shared libtmux.org shell, pinned to libtmux/docs bc24b1c (Lua reference: object domains, member ranking, and a live Ruby/Lua deploy docs#19).
  • Isolate: pull requests publish previews under en/lua/pr-N with a preview role that cannot write latest; a separate role deletes a closed preview.

Setup (done)

  • AWS roles libtmux-org-lua-publisher, -preview-publisher and -preview-cleanup-publisher (tony/tf-config libtmux-org-lua-ruby, applied).
  • Environments docs (master, v*.x, v* tags), docs-preview, docs-preview-cleanup, and the five LIBTMUX_DOCS_* secrets.

After merge

libtmux.org currently publishes en/lua/latest from the docs shell. Once this workflow's master run publishes latest, the shell hands the tree back (publishesOwnTree: true in libtmux/docs), so one publisher owns each prefix.

why: The unified site needs a revision-bound LuaLS artifact without
treating the unpublished MCP and workspace scaffolds as products.

what:
- Export verified public declarations, guides, and examples.
- Add and execute the installed-package quickstart.
- Validate local Markdown fragments and exporter drift.
why: Export-only class markers changed the tagged core source and made
the immutable release source rock differ from the tested checkout.

what:
- Inject public-module markers only into the exporter copy.
- Assert runtime modules remain free of export-only annotations.
why: Port documentation must build from the selected source revision and
write only its owned libtmux.org prefix.

what:
- Build trunk, maintenance, tag, alias, and pull-request versions.
- Pin the site checkout, deployment workflow, and third-party actions.
- Isolate preview publication and cleanup from production versions.
The exporter checked for Entity, Server and four other types. Session,
Window, WindowLink, Pane, Client, Buffer, Configurable and Reference could
vanish from the published reference without failing it. A tooling test
now fails when entity.lua declares a class the exporter does not require.
The site checkout and reusable-deploy.yml pinned libtmux/docs 4a13b571,
which predates the reference's domain buckets, member ranking and Lua
signature fixes. Pin both to libtmux/docs bc24b1c (#19), so the tree this
workflow publishes matches what the shell renders.
The quickstart ran a bare `tmux wait-for -S` in its pane. CI's server is
a pinned build at an absolute path, so the pane's `tmux` was another
binary that never reached it, and `server:command({"wait-for", ...})`
blocked until the package gate's 290-second timeout. The pane now runs
the same binary, and the wait is bounded at ten seconds so a missed
signal fails instead of hanging.
@tony
tony deployed to docs-preview September 26, 2026 00:43 — with GitHub Actions Active
@tony
tony merged commit 777d546 into master Sep 26, 2026
24 checks passed
@tony
tony deployed to docs-preview-cleanup September 26, 2026 00:59 — with GitHub Actions Active
tony added a commit to libtmux/docs that referenced this pull request Sep 26, 2026
libtmux-ruby and libtmux-lua publish their own latest trees now
(libtmux/libtmux-ruby#3, libtmux/libtmux-lua#5). Set publishesOwnTree
back to true so one publisher owns each prefix, and move the Lua model
and cached quickstart to libtmux-lua 777d546.

This branch was successfully deployed

2 active deployments
docs-preview-cleanup — 1887c620 Deployed Sep 26, 2026 by tony via cleanup #1
docs-preview — 1887c620 Deployed Sep 26, 2026 by tony via publish (pr-5, pr, false, docs-preview, true) / publish #2
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