Orchestrator --with-demos installs demos; --with-demo-sources clones (#297)#339
Open
dfattal wants to merge 2 commits into
Open
Orchestrator --with-demos installs demos; --with-demo-sources clones (#297)#339dfattal wants to merge 2 commits into
dfattal wants to merge 2 commits into
Conversation
… clones --with-demos now downloads + silently installs each demo's prebuilt release asset (reusing install_component — same path as runtime/shell/ leia/mcp), so a fresh `setup-displayxr --with-demos` actually lands the demo and the shell launcher shows its tile. The former source-clone behavior moves to a new --with-demo-sources flag for contributors who build from source. Because demos install from a prebuilt binary (compiled by the demo's own CI), --with-demos is insensitive to the contributor's build environment (Vulkan SDK, graphics toolchains) — it addresses the original clone-only rationale by removing the build step entirely, not deferring it. - components.sh: add COMPONENT_PIN_KEY_<name> override (gauss_demo pins under demos.gaussiansplat, not a top-level key) + DEMO_COMPONENTS list. - setup-displayxr.sh/.bat: --with-demos → install loop over DEMO_COMPONENTS; --with-demo-sources → former clone behavior. Both combine freely. Demos with no asset for this OS warn-and-skip. - full-stack-install.md: document the split. #311 already registered gauss_demo in the component table; this wires it into the install path. Bridges the gap until the #284 meta-installer ships the user-facing bundle. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
A broken-pipe / network blip on the 'gh release view --json assets' query left asset_count empty, and '[ "$asset_count" -eq 0 ]' aborted with 'integer expected' (surfaced during a real --with-demos install). Guard the integer test with a numeric-match: only warn-and-skip on a confirmed zero; otherwise fall through to the download, which is the real gate and errors cleanly if the asset is truly absent. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Collaborator
Author
|
Validated with a real macOS install (
The run also surfaced a latent robustness bug (pre-existing in |
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.
Closes #297.
What
Splits the dev orchestrator's demo handling into two intent-revealing flags:
--with-demosgh release download+ silent install + marker check, the sameinstall_componentpath as runtime/shell/leia/mcp.--with-demo-sourcesdisplayxr-demo-*repo into./demos/<name>/(the former--with-demosbehavior), for contributors who build from source.Both combine freely;
--dry-runworks with both.Why (the resilience argument)
The original clone-only choice (#283) was to avoid importing each demo's build environment (Vulkan SDK, graphics toolchains) onto the contributor's box. But clone-only doesn't make a demo usable — it leaves the dev to build it, which is exactly where that fragility bites; after
--with-demosthe shell launcher showed no demo tile (the bug #297 was filed for).Installing a prebuilt release asset sidesteps the build entirely — the binary was already compiled by the demo's own CI — so
--with-demosis more resilient to dev-environment drift, not less. Source-only demos (no release installer) stay under--with-demo-sources.How
components.sh: newCOMPONENT_PIN_KEY_<name>override (the demo's tag lives atdemos.gaussiansplat, not a top-level key) + aDEMO_COMPONENTSlist.install_componentresolves the pin key, defaulting to the component name.setup-displayxr.sh/.bat:--with-demosnow loopsDEMO_COMPONENTSthroughinstall_component(after the core components, so runtime is present for demos that require it);--with-demo-sourcescarries the old clone loop. Demos with no asset for the current OS warn-and-skip (no hard failure).full-stack-install.md: documents the split.#311 already registered
gauss_demoin the component table; this PR wires it into the install path. Bridges the gap until #284's user-facing meta-installer ships.Test
bash -nclean on.sh+components.sh;--helprenders the new flags.runtime→runtime,gauss_demo→demos.gaussiansplat→v1.4.1..batmirrors the same structure (exact-match arg parse;--with-demosdoesn't shadow--with-demo-sources).🤖 Generated with Claude Code