Skip to content

Split CrumbleCracker desktop products from experimental cc - #271

Merged
Vbitz merged 4 commits into
mainfrom
split/product-runtime
Sep 7, 2026
Merged

Vbitz merged 4 commits into
mainfrom
split/product-runtime

Conversation

@Vbitz

@Vbitz Vbitz commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

SquadVM and NeurodeskAppX now own an independent, reduced Linux runtime. Guest boot, image pulls, execution, shutdown, CVMFS status, and display handoff run directly in the application process instead of going through the embedded cc HTTP daemon.

  • Import the required runtime from cc c923785 with source attribution and licenses. Remove the cc and Gowin submodules; Gowin becomes a pinned module dependency.
  • Keep the Linux VM, OCI/CVMFS, guest init, shared/persistent storage, network, input, software display, and first-party VirGL/shared-texture paths needed by the apps.
  • Remove the production daemon/API server and client transport, sidecar workers, BSD guest support, unused runtime packages, shell frontends, and experimental plans. The interactive shell and daemon continue in the companion cc PR.
  • Keep the published desktop downloads website and GitHub Pages release refresh; remove vmsh branding, shell content, and shell downloads. Release data accepts desktop-only releases.
  • Render frontend text at native display resolution and refine startup layout. Default VM names are squadvm and neurodesk.
  • Preserve product settings/storage paths, image names, and macOS bundle identities. The repository still lives at tinyrange/vmsh pending a separate rename, so its release feed remains there.
  • Replace build/release paths with desktop-only builds, retain signing/notarization and manual image publishing, and provide a small isolated runtime smoke tool.
  • Commit CI runs two focused jobs: Linux tests/builds plus Windows cross-builds, and native macOS GPU/frontend tests/builds. Image builds and VM/CTS runs are not part of commit CI.

The copied runtime is ordinary owned source, not a vendor tree. There is no cc dependency, automatic synchronization, or compatibility policy. A standalone product daemon and Python frontend remain future work.

Validation:

  • Both apps build for darwin/arm64, linux/amd64, and windows/amd64; local macOS development binaries are signed.
  • Retained short tests pass on macOS, including frontend/runtime, GPU, image parsing, VM lifecycle, storage, networking, and terminal tests. Linux and Windows test packages also cross-compile.
  • Website development and GitHub Pages builds pass, along with all four release-data and rendered-download tests.
  • go vet ./..., workflow YAML/shell syntax checks, and diff checks pass.
  • Real Darwin in-process smoke: boot Linux, repeated commands, command deadline, nonzero exit status, exact shared-file host readback, shutdown, restart, and guest readback all pass with repository-local cache/storage.
  • Signed/notarized release publication and visual GUI smoke checks were not run. Release credentials need to be present in the production repository.

Companion experimental PR: tinyrange/cc#208
Implements the source split in #270. Repository renaming is separate; the unrelated existing RV64 crumblecracker repository is untouched.

@Vbitz
Vbitz marked this pull request as ready for review September 7, 2026 07:34
@Vbitz
Vbitz added this pull request to the merge queue Sep 7, 2026
Merged via the queue into main with commit 22419cb Sep 7, 2026
2 checks passed
@Vbitz
Vbitz deleted the split/product-runtime branch September 7, 2026 07:35
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