Skip to content

Commit a67c562

Browse files
committed
ci: the clone's workspace pin does not decide which mcpp builds it
`.xlings.json` at mcpp's root pins the mcpp that compiles mcpp, and that pin does not move when mcpp is released — a build inside the checkout obeys it and installs a version the index may no longer carry. What this step wants is the source compiled by the mcpp installed a moment earlier.
1 parent f7ceefc commit a67c562

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,18 @@ jobs:
104104
[ -d "$src" ] || git clone --quiet --depth 1 \
105105
--branch "$MCPP_SOURCE_REF" \
106106
https://github.com/mcpp-community/mcpp.git "$src"
107+
# ⚠️ THE CLONE'S OWN WORKSPACE PIN MUST NOT DECIDE WHICH mcpp
108+
# BUILDS IT. `.xlings.json` at mcpp's root pins the mcpp that
109+
# compiles mcpp, and that pin does not move when mcpp is released —
110+
# so a build inside the checkout obeys it and tries to install a
111+
# version the index may no longer carry:
112+
#
113+
# [error] xlings: version '2026.8.17.1' not found for 'mcpp'
114+
# available: 2026.8.25.1
115+
#
116+
# What is wanted here is the source compiled by the mcpp installed
117+
# above, which is exactly what removing the file leaves.
118+
rm -f "$src/.xlings.json"
107119
( cd "$src" && mcpp build --release )
108120
built=$(find "$src/target" -type f -name mcpp -perm -u+x | head -1)
109121
[ -n "$built" ] || { echo "::error::mcpp did not build from $MCPP_SOURCE_REF"; exit 1; }

0 commit comments

Comments
 (0)