Skip to content

Commit 7c621a2

Browse files
committed
ci(fresh-install): imgui template fetch coverage on all platforms; macos bootstrap -> v0.4.51; drop temp forensics/matrix
1 parent d9aac1f commit 7c621a2

1 file changed

Lines changed: 35 additions & 28 deletions

File tree

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

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,15 @@ jobs:
6161
cd hello_gcc
6262
mcpp run
6363
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+
6473
- name: "Default: build mcpp"
6574
run: |
6675
mcpp clean
@@ -118,14 +127,9 @@ jobs:
118127
name: macOS fresh install
119128
# macos-14: the support floor (mcpp ≥0.0.50 / xlings ≥0.4.50 ship
120129
# minos=14.0 static-libc++ binaries). A fresh install passing here
121-
# is the continuous proof of the macOS 14 floor.
122-
# TEMP: macos-15 added to isolate whether the cmdline fetch failure
123-
# is macos-14-specific or affects the new stack on any macOS.
124-
strategy:
125-
fail-fast: false
126-
matrix:
127-
os: [macos-14, macos-15]
128-
runs-on: ${{ matrix.os }}
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
129133
timeout-minutes: 30
130134
steps:
131135
- uses: actions/checkout@v4
@@ -136,7 +140,9 @@ jobs:
136140
run: |
137141
# v0.4.50+: first xlings release whose macosx binary runs on
138142
# macOS 14 (older ones carry minos=15 and refuse to start).
139-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v0.4.50
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
140146
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
141147
142148
- name: Install mcpp and config mirror
@@ -159,26 +165,15 @@ jobs:
159165
cd hello_mac
160166
mcpp run
161167
162-
# TEMPORARY forensics — mcpplibs.cmdline fetch dies at 0 B on
163-
# macos-14 (R5/R6) while linux passes the same step. Hypothesis:
164-
# the xlings 0.4.50 adaptive mirror (sha256-pinned URLs may try a
165-
# third-party mirror BEFORE the author URL) picks a dead mirror
166-
# host on this runner. Probe A = raw connectivity control,
167-
# B = exact failing flow (control), C = adaptive mirror off.
168-
- name: "Debug: cmdline fetch forensics (temporary)"
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)"
169173
run: |
170-
echo "=== probe D: failing flow, mcpp --verbose ==="
171-
mcpp clean
172-
mcpp run --verbose 2>&1 | tail -60 || true
173-
echo "=== probe E: xlings direct install from the mcpp sandbox ==="
174-
SANDBOX_XLINGS=$(find "$HOME/.mcpp" -name xlings -type f 2>/dev/null | head -1)
175-
echo "sandbox xlings: $SANDBOX_XLINGS"
176-
env XLINGS_HOME="$HOME/.mcpp/registry" "$SANDBOX_XLINGS" \
177-
install mcpplibs.cmdline@0.0.1 -y --verbose 2>&1 | tail -40 || true
178-
echo "=== probe F: any xlings/mcpp logs ==="
179-
find "$HOME/.mcpp" -name '*.log' -newer /tmp -mmin -10 2>/dev/null | head -5
180-
for f in $(find "$HOME/.mcpp" "$HOME/.xlings" -name '*.log' -mmin -10 2>/dev/null | head -3); do
181-
echo "--- $f"; tail -30 "$f"; done
174+
cd "$(mktemp -d)"
175+
mcpp new abc1 --template imgui
176+
test -f abc1/mcpp.toml
182177
183178
- name: "LLVM: build mcpp"
184179
run: |
@@ -227,6 +222,18 @@ jobs:
227222
Set-Location hello_win
228223
mcpp run
229224
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+
230237
- name: "LLVM: build mcpp"
231238
shell: pwsh
232239
run: |

0 commit comments

Comments
 (0)