Skip to content

Commit 7c76eb7

Browse files
authored
ci: cache mcpp's self-bootstrapped sandbox (~800 MB → instant) (#4)
mcpp 0.0.3's binary lives at xim-x-mcpp/0.0.3/bin/mcpp; on first run it self-detects home as that grandparent and bootstraps musl-gcc + binutils + glibc + ninja + patchelf into <home>/registry/data/xpkgs. Toolchain set is version-pinned by mcpp 0.0.3, so a fixed cache key is safe. Cache-hit runs skip the ~800 MB download.
1 parent 687495f commit 7c76eb7

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,15 @@ jobs:
2626
- name: Install workspace tools (.xlings.json → mcpp 0.0.3)
2727
run: xlings install -y
2828

29+
# Cache mcpp's self-bootstrapped sandbox (musl-gcc + binutils +
30+
# glibc + ninja + patchelf, ~800 MB). Toolchain set is pinned by
31+
# mcpp 0.0.3, so a fixed key suffices.
32+
- name: Cache mcpp sandbox
33+
uses: actions/cache@v4
34+
with:
35+
path: ~/.xlings/data/xpkgs/xim-x-mcpp/0.0.3/registry
36+
key: mcpp-sandbox-${{ runner.os }}-mcpp0.0.3
37+
2938
- name: Build with mcpp
3039
run: mcpp build
3140

0 commit comments

Comments
 (0)