Skip to content

Commit df2c214

Browse files
committed
fix: ensure mcpp is on PATH for self-host dyndep calls
build.ninja calls `mcpp dyndep` — the bootstrap binary must be findable via PATH. Add `which mcpp` verification before build.
1 parent f9d8238 commit df2c214

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

.github/workflows/ci-macos.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -304,21 +304,26 @@ jobs:
304304
- name: Self-host (mcpp builds mcpp)
305305
run: |
306306
# Step 2: Use the xmake-built mcpp to build itself
307-
export PATH="$(dirname "$MCPP_V1"):$PATH"
307+
# mcpp must be on PATH — build.ninja calls `mcpp dyndep`
308+
MCPP_DIR=$(dirname "$MCPP_V1")
309+
export PATH="$MCPP_DIR:$PATH"
310+
which mcpp
308311
mcpp build
309-
MCPP_V2=$(find target -path "*/bin/mcpp" -not -path "*/build/*" | head -1)
312+
MCPP_V2=$(find target -path "*/bin/mcpp" | head -1)
310313
test -x "$MCPP_V2"
311314
"$MCPP_V2" --version
312315
echo ":: Step 2 PASS: mcpp self-hosted"
313-
echo "MCPP_V2=$MCPP_V2" >> "$GITHUB_ENV"
316+
echo "MCPP_V2=$(realpath "$MCPP_V2")" >> "$GITHUB_ENV"
314317
315318
- name: Self-host again (v2 builds itself)
316319
run: |
317-
# Step 3: Use the self-hosted mcpp to build itself again (proves stability)
320+
# Step 3: The self-hosted mcpp builds itself again (stability proof)
318321
rm -rf target
319-
export PATH="$(dirname "$MCPP_V2"):$PATH"
322+
MCPP_DIR=$(dirname "$MCPP_V2")
323+
export PATH="$MCPP_DIR:$PATH"
324+
which mcpp
320325
mcpp build
321-
MCPP_V3=$(find target -path "*/bin/mcpp" -not -path "*/build/*" | head -1)
326+
MCPP_V3=$(find target -path "*/bin/mcpp" | head -1)
322327
test -x "$MCPP_V3"
323328
"$MCPP_V3" --version
324329
echo ":: Step 3 PASS: mcpp self-host stable (v2 → v3)"

0 commit comments

Comments
 (0)