From 60e1fe2a85a2579a39564e3fd081963b2396d240 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Sun, 10 May 2026 05:20:01 +0800 Subject: [PATCH] =?UTF-8?q?ci:=20cache=20mcpp's=20self-bootstrapped=20sand?= =?UTF-8?q?box=20(~800=20MB=20=E2=86=92=20instant)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 /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. --- .github/workflows/ci.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f5a9833..e33f485 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,6 +26,15 @@ jobs: - name: Install workspace tools (.xlings.json → mcpp 0.0.3) run: xlings install -y + # Cache mcpp's self-bootstrapped sandbox (musl-gcc + binutils + + # glibc + ninja + patchelf, ~800 MB). Toolchain set is pinned by + # mcpp 0.0.3, so a fixed key suffices. + - name: Cache mcpp sandbox + uses: actions/cache@v4 + with: + path: ~/.xlings/data/xpkgs/xim-x-mcpp/0.0.3/registry + key: mcpp-sandbox-${{ runner.os }}-mcpp0.0.3 + - name: Build with mcpp run: mcpp build