Files

Native packaging

build-macos-app.sh builds the release executable with the normal Cargo lockfile and creates target/release/Tessera.app. It uses the local Rust toolchain; no mirror or Docker configuration is installed, and no automated tests run. Additional arguments are forwarded to Cargo, such as --offline to reuse an already populated cache or temporary --config options for a dependency mirror when official crates.io is unavailable. Defaults remain the official source.

The local bundle has identifier com.entroia.tessera and can be opened from Finder. It is a development app, without a distribution signature or notarization. The CI workflow only checks this script's shell syntax on Linux; native bundle construction and window presentation are verified on macOS.

Return to the project guide.

Remote verification

verify-ci.sh runs only on the Linux ces-control host. It builds the source-independent toolchain image, mounts the checkout read-only and retains Cargo downloads/build output in project-specific Docker volumes. CI_CACHE_SCOPE selects main/manual or a PR cache namespace. It acquires a host lock and removes its own container on interruption; cached volumes survive. See workflow details for invalidation and triggers.

UML 文档渲染

render-uml.mjs 从 docs/architecture/uml/*.puml 在本地生成 SVG 和 PNG,输出到 docs/architecture/uml/rendered/。固定工具版本与运行步骤见 UML 图册。这些 Node 工具独立于应用依赖, 不需要 Java、原生 Graphviz 或远程渲染服务。