4242
4343 - name : Install mcpp and config mirror
4444 run : |
45+ # The release tarball bundles a pkgindex snapshot frozen at
46+ # build time; refresh it so the workspace pin in .xlings.json
47+ # (latest mcpp) resolves.
48+ xlings update
4549 xlings install mcpp -y -g # install to global
4650 mcpp --version
4751 mcpp self config --mirror GLOBAL
5761 cd hello_gcc
5862 mcpp run
5963
64+ # Template packages exercise the sha256-pinned mcpp-index fetch
65+ # path (user report: `mcpp new ... --template imgui` failed with
66+ # fetch 'imgui@0.0.6' exit 1 on hosts without a sha256sum binary).
67+ - name : " Template: mcpp new --template imgui (fetch path)"
68+ run : |
69+ cd "$(mktemp -d)"
70+ mcpp new abc1 --template imgui
71+ test -f abc1/mcpp.toml
72+
6073 - name : " Default: build mcpp"
6174 run : |
6275 mcpp clean
@@ -112,7 +125,11 @@ jobs:
112125 # ──────────────────────────────────────────────────────────────────
113126 macos-fresh :
114127 name : macOS fresh install
115- runs-on : macos-15
128+ # macos-14: the support floor (mcpp ≥0.0.50 / xlings ≥0.4.50 ship
129+ # minos=14.0 static-libc++ binaries). A fresh install passing here
130+ # is the continuous proof of the macOS 14 floor — and of host-tool
131+ # independence (this image has no sha256sum; macos-15 does).
132+ runs-on : macos-14
116133 timeout-minutes : 30
117134 steps :
118135 - uses : actions/checkout@v4
@@ -121,11 +138,18 @@ jobs:
121138 env :
122139 XLINGS_NON_INTERACTIVE : ' 1'
123140 run : |
124- curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v0.4.38
141+ # v0.4.50+: first xlings release whose macosx binary runs on
142+ # macOS 14 (older ones carry minos=15 and refuse to start).
143+ # v0.4.51: in-process sha256 — required on this image, which
144+ # has no sha256sum binary (pinned fetches failed before).
145+ curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v0.4.51
125146 echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
126147
127148 - name : Install mcpp and config mirror
128149 run : |
150+ # Refresh the bundled pkgindex snapshot so the workspace pin
151+ # in .xlings.json (latest mcpp) resolves.
152+ xlings update
129153 xlings install mcpp -y -g # install to global
130154 mcpp --version
131155 mcpp self config --mirror GLOBAL
@@ -141,6 +165,16 @@ jobs:
141165 cd hello_mac
142166 mcpp run
143167
168+ # Template packages exercise the sha256-pinned mcpp-index fetch
169+ # path — this is what broke on hosts without a sha256sum binary
170+ # (stock macOS / bare Windows) before xlings 0.4.51 hashed
171+ # in-process.
172+ - name : " Template: mcpp new --template imgui (fetch path)"
173+ run : |
174+ cd "$(mktemp -d)"
175+ mcpp new abc1 --template imgui
176+ test -f abc1/mcpp.toml
177+
144178 - name : " LLVM: build mcpp"
145179 run : |
146180 mcpp clean
@@ -170,6 +204,9 @@ jobs:
170204 - name : Install mcpp and config mirror
171205 shell : pwsh
172206 run : |
207+ # Refresh the bundled pkgindex snapshot so the workspace pin
208+ # in .xlings.json (latest mcpp) resolves.
209+ xlings update
173210 xlings install mcpp -y -g --verbose
174211
175212 cat "$env:USERPROFILE\.xlings\.xlings.json"
@@ -185,6 +222,18 @@ jobs:
185222 Set-Location hello_win
186223 mcpp run
187224
225+ # Template packages exercise the sha256-pinned mcpp-index fetch
226+ # path (user report: `mcpp new abc1 --template imgui` failed with
227+ # fetch 'imgui@0.0.6' exit 1 on bare Windows — no sha256sum binary
228+ # outside git-bash; fixed by xlings 0.4.51 in-process hashing).
229+ - name : " Template: mcpp new --template imgui (fetch path)"
230+ shell : pwsh
231+ run : |
232+ $tmp = New-TemporaryFile | ForEach-Object { Remove-Item $_; New-Item -ItemType Directory -Path $_ }
233+ Set-Location $tmp
234+ mcpp new abc1 --template imgui
235+ if (!(Test-Path abc1/mcpp.toml)) { exit 1 }
236+
188237 - name : " LLVM: build mcpp"
189238 shell : pwsh
190239 run : |
0 commit comments