Skip to content

Package runtime assets for guest Btrfs materialization - #355

Merged
AprilNEA merged 5 commits into
masterfrom
feat/btrfs-runtime-cache
Aug 4, 2026
Merged

AprilNEA merged 5 commits into
masterfrom
feat/btrfs-runtime-cache

Conversation

@AprilNEA

@AprilNEA AprilNEA commented Aug 2, 2026

Copy link
Copy Markdown
Member

Summary

  • stop embedding the legacy runtime.erofs image in ArcBox.app and release artifacts
  • preserve architecture-specific runtime manifest entries when staging local boot assets for Development builds
  • force full DMG builds to embed Rust binaries even when Local.xcconfig enables SKIP_RUST_BUILD
  • fail release validation if runtime.erofs is reintroduced

Validation

  • devenv shell -- make lint-xtask test-xtask
  • 9 xtask tests passed
  • git diff --check

Dependencies

@greptile-apps

greptile-apps Bot commented Aug 2, 2026 •

Copy link
Copy Markdown

Greptile Summary

The PR updates macOS packaging to omit the legacy runtime.erofs, preserve architecture-specific runtime metadata for local Development assets, and validate versioned runtime binaries in release artifacts.

  • Stages local boot assets after prefetching their runtime manifest entries.
  • Selects profile-appropriate boot caches and removes stale embedded assets.
  • Forces the intended Xcode Rust-embedding behavior for each DMG build mode.
  • Rejects release bundles that contain the legacy runtime image.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
xtask/src/commands/macos/dmg.rs Updates resource preparation, cache selection, embedding, and bundle verification for versioned guest runtime materialization.
xtask/src/commands/macos/dmg/tests.rs Adds coverage for local manifest preservation, profile-restricted cache reuse, stale asset replacement, and host-target validation.
.github/workflows/release.yml Extends release validation to reject legacy runtime images and verify binaries beneath the manifest asset-version directory.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Prefetch["Prefetch boot manifest and runtime binaries"] --> Local{"Local Development boot assets?"}
  Local -->|Yes| Build["Build kernel/rootfs with preserved binaries fragment"]
  Local -->|No| Cache["Use prefetched boot cache"]
  Build --> Embed["Embed manifest, kernel, and rootfs.erofs"]
  Cache --> Embed
  Embed --> Runtime["Embed runtime binaries under runtime/asset_version"]
  Runtime --> Verify["Verify binaries and reject runtime.erofs"]
Loading

Reviews (3): Last reviewed commit: "Merge remote-tracking branch 'origin/mas..." | Re-trigger Greptile

@AprilNEA
AprilNEA marked this pull request as ready for review August 3, 2026 19:51
@AprilNEA
AprilNEA merged commit 24b1248 into master Aug 4, 2026
6 checks passed
@AprilNEA
AprilNEA deleted the feat/btrfs-runtime-cache branch August 4, 2026 05:59
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