Skip to content

Commit eebedbf

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 7424547 commit eebedbf

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

0 commit comments

Comments
 (0)