Documentation and browser deployment

The Browser job of the CI workflow (ci.yml) builds one static site containing documentation, the standard Uno gallery, and the multi-window browser workbench. It publishes the real net10.0-browserwasm application—not a screenshot or JavaScript-only substitute.

Published routes

Route Content
/UnoDock/ Project landing page.
/UnoDock/docs/ Generated documentation pages.
/UnoDock/gallery/ Standard UnoDock control gallery.
/UnoDock/playground/ Browser multi-window workspace host.
/UnoDock/revision.txt Exact deployed source revision.

The Uno publish base path must match /UnoDock/gallery/. Deploying a fork under a different project name requires changing that base path and the runtime-test URL together. Serve over HTTP locally or HTTPS remotely; file:// is not supported.

GitHub Pages

Use GitHub Actions as the repository's Pages publishing source. Building/testing needs repository read access. Deployment uses narrowly scoped pages: write and id-token: write; the build does not need repository secrets. Enabling a new Pages site is a separate repository-administration operation and can require maintainer action when the installation cannot administer Pages.

The intended order is publish, assemble the site, execute browser acceptance locally, upload the Pages artifact, deploy, and verify the deployed revision/runtime. A failed deployment is not reported as a live site. Browser window tests require that the workspace and gallery use the same origin and compatible opener policy.

Other static hosts

tools/build-browser-site.py --publish artifacts/publish --output artifacts/site produces the complete site. A host must serve WebAssembly with the correct content type and retain the project paths. This browser implementation does not require SharedArrayBuffer, a custom COOP/COEP service worker, a server process, or a websocket service.

Do not put untrusted scripts on the same origin as the workbench. Read the browser security and recovery contract.