Skip to content

Commit dc530f4

Browse files
authored
ci: fresh-install macOS lane on macos-14 (support floor); workspace mcpp -> 0.0.51 (#123)
* ci: fresh-install macOS lane on macos-14 (support floor); workspace mcpp -> 0.0.51 * ci(fresh-install): xlings update before install — bundled index snapshot predates latest mcpp * ci: workspace mcpp -> 0.0.52 (portable-by-default macOS floor) * ci(temp): cmdline fetch forensics on macos-14 (adaptive mirror suspect) * ci(temp): verbose forensics + macos-15 control matrix * ci(fresh-install): imgui template fetch coverage on all platforms; macos bootstrap -> v0.4.51; drop temp forensics/matrix
1 parent ee5fffc commit dc530f4

2 files changed

Lines changed: 52 additions & 3 deletions

File tree

.github/workflows/ci-fresh-install.yml

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ jobs:
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
@@ -57,6 +61,15 @@ jobs:
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: |

.xlings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"workspace": {
3-
"mcpp": "0.0.20"
3+
"mcpp": "0.0.52"
44
}
55
}

0 commit comments

Comments
 (0)