Skip to content

Commit 0312c3c

Browse files
committed
ci(cross-build): xlings 0.4.30 -> 0.4.61 + force index re-sync (fix bootstrap pin resolution)
The cross-build aarch64 job failed at the self-host bootstrap with 'xlings: version <pin> not found for mcpp' — the classic first-PR-after-a- bootstrap-pin-bump failure: a warm cached ~/.xlings carried a 'fresh-looking' TTL refresh marker, so 0.4.30's `xlings update` no-op'd and the stale index never saw the just-bumped pin (0.0.75). (Not this PR's code: e2e passed, the build+tests pass locally.) Fix: (1) bump XLINGS_VERSION to 0.4.61 (current; has the index-refresh fixes); (2) delete the .xlings-index-cache.json TTL markers before `xlings update` so it actually re-pulls the latest index while the toolchain payloads stay cached (avoids both the stale-index 'not found' and the cold-cache toolchain 127).
1 parent 5088e3f commit 0312c3c

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

.github/workflows/cross-build-test.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,11 @@ jobs:
8787
- name: Bootstrap mcpp via xlings
8888
env:
8989
XLINGS_NON_INTERACTIVE: '1'
90-
XLINGS_VERSION: '0.4.30'
90+
# 0.4.61 (current) carries the index-refresh fixes; 0.4.30 left a
91+
# "fresh-looking" TTL marker on a cached ~/.xlings so `xlings update`
92+
# no-op'd and the stale index never saw a just-bumped bootstrap pin
93+
# (mcpp@<pin> "not found" on the first PR after a pin bump).
94+
XLINGS_VERSION: '0.4.61'
9195
run: |
9296
tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz"
9397
curl -fsSL -o "/tmp/${tarball}" \
@@ -96,8 +100,10 @@ jobs:
96100
"/tmp/xlings-${XLINGS_VERSION}-linux-x86_64/subos/default/bin/xlings" self install
97101
export PATH="$HOME/.xlings/subos/default/bin:$PATH"
98102
xlings --version
99-
# Refresh the index so a cached ~/.xlings still sees newly published
100-
# cross toolchains (xim:aarch64-linux-musl-gcc, static ninja, ...).
103+
# Force a real index re-sync even on a warm cache: drop the TTL refresh
104+
# markers so `xlings update` actually pulls the latest index (sees the
105+
# current bootstrap pin) while the toolchain payloads stay cached.
106+
find "$HOME/.xlings" -name '.xlings-index-cache.json' -delete 2>/dev/null || true
101107
xlings config --mirror GLOBAL 2>/dev/null || true
102108
xlings update -y 2>/dev/null || xlings update 2>/dev/null || true
103109
xlings install mcpp -y

0 commit comments

Comments
 (0)