Skip to content

Commit 5603bc5

Browse files
committed
Revert "chore(xlings): pin 2026.8.17.2 -> 2026.8.27.2"
The bump is correct and this release cannot carry it. Measured on CI rather than predicted: Downloading xim:glibc@2.44 error: toolchain post-install fixup: selected RuntimeBinding glibc@2.44.2 requires payload '…/xpkgs/xim-x-glibc/2.44.2', but it is not installed Two versions of one decision meet inside a single run. The mcpp that BUILDS this one is the released 2026.8.25.2, whose compiled-in pin is 2026.8.17.2, and it installs the payload its own binding names: 2.44. The vendored xlings that COMPUTES the binding is the one this branch pins, which asks the index and gets 2.44.2. The request is then newer than what is installed. That is the direction `payload_dir_for_version` refuses, and it must: accepting a payload older than the request would silently use the one the index states is not the one to install --- the preload defect of mcpp#484. ⚠️ THIS IS NOT A STALE CACHE. The sandbox cache key includes the xlings version for exactly this reason, so the bump is a cache miss and the sandbox was fresh. The mismatch is between the engine doing the building and the xlings it was told to vendor. ⭐ IT IS SELF-HEALING, AND ONLY IN ONE ORDER. Once 2026.8.27.1 is released, a bootstrap from it carries the new pin, computes 2.44.2, and installs 2.44.2. The bump therefore belongs in the release AFTER this one, which is the rule the index states in its own source: "The index is DATA and the client is a PROGRAM: the consumer ships first." The engine-side half of the same problem stays in this release: `payload_dir_for_version` accepts an installed payload whose version REFINES a request an older client already compiled in, so older clients stop being stranded by an index move in the safe direction.
1 parent d4cbd39 commit 5603bc5

8 files changed

Lines changed: 17 additions & 17 deletions

File tree

.github/actions/bootstrap-mcpp/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ inputs:
2525
# `package.name`, so one of the two was simply unreachable — and which one
2626
# depended on the machine, which is why CI failed on `compat:lua` on
2727
# Windows and `mcpplibs.capi:lua` on Linux. Never pin below that.
28-
default: '2026.8.27.2'
28+
default: '2026.8.17.2'
2929
cache-target:
3030
description: also restore/save target/ (build artifacts + BMIs)
3131
required: false

.github/actions/setup-macos-llvm/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ inputs:
1515
# Floor imposed by the index, not a routine bump — see
1616
# .github/actions/bootstrap-mcpp/action.yml for why 0.4.69 is required
1717
# (two packages named `lua` in one repo need openxlings/xlings#381).
18-
default: '2026.8.27.2'
18+
default: '2026.8.17.2'
1919

2020
runs:
2121
using: composite

.github/workflows/bootstrap-macos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
# Dormant (workflow_dispatch only), but kept in step with the rest —
1818
# check_version_pins.sh holds it there. Floor: 0.4.69, below which the
1919
# index cannot resolve two packages that share a short name.
20-
XLINGS_VERSION: '2026.8.27.2'
20+
XLINGS_VERSION: '2026.8.17.2'
2121
steps:
2222
- uses: actions/checkout@v4
2323

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ jobs:
152152
env:
153153
XLINGS_NON_INTERACTIVE: '1'
154154
run: |
155-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.27.2
155+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.17.2
156156
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
157157
158158
- name: Install mcpp and config mirror
@@ -293,7 +293,7 @@ jobs:
293293

294294
- name: Install xlings + mcpp
295295
run: |
296-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.27.2
296+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.17.2
297297
# Deliberately NOT writing to $GITHUB_PATH here. On container
298298
# images that declare no PATH in their config (opensuse/
299299
# tumbleweed), appending a single dir to GITHUB_PATH makes the
@@ -364,7 +364,7 @@ jobs:
364364
# (older ones carry minos=15 and refuse to start).
365365
# v0.4.51+: in-process sha256 — this image has no sha256sum
366366
# binary, so pinned fetches failed before it.
367-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.27.2
367+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.17.2
368368
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
369369
370370
- name: Install mcpp and config mirror

.github/workflows/ci-linux-e2e.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ jobs:
237237
238238
- name: Bootstrap xlings + released mcpp
239239
run: |
240-
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.27.2
240+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.17.2
241241
export PATH="$HOME/.xlings/subos/current/bin:$PATH"
242242
xlings update
243243
xlings install mcpp -y -g

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ jobs:
122122
# release assets were uploaded in a broken state (records present,
123123
# blobs missing → 404 on GET); re-uploaded clean. The stale-INDEX
124124
# half is handled by the marker-clear below.
125-
XLINGS_VERSION: '2026.8.27.2'
125+
XLINGS_VERSION: '2026.8.17.2'
126126
run: |
127127
tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz"
128128
bash "$GITHUB_WORKSPACE/.github/tools/fetch_release.sh" \
@@ -263,7 +263,7 @@ jobs:
263263
- name: Bootstrap mcpp via xlings
264264
env:
265265
XLINGS_NON_INTERACTIVE: '1'
266-
XLINGS_VERSION: '2026.8.27.2'
266+
XLINGS_VERSION: '2026.8.17.2'
267267
run: |
268268
tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz"
269269
bash "$GITHUB_WORKSPACE/.github/tools/fetch_release.sh" \

.github/workflows/release.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
# Pin xlings to a known-good version. The upstream install
9797
# script always grabs `latest` (no version override), so we
9898
# download + self-install manually to avoid broken releases.
99-
XLINGS_VERSION: '2026.8.27.2'
99+
XLINGS_VERSION: '2026.8.17.2'
100100
run: |
101101
if [ ! -x "$HOME/.xlings/subos/default/bin/xlings" ]; then
102102
tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz"
@@ -289,7 +289,7 @@ jobs:
289289
- name: Bootstrap mcpp via xlings
290290
env:
291291
XLINGS_NON_INTERACTIVE: '1'
292-
XLINGS_VERSION: '2026.8.27.2'
292+
XLINGS_VERSION: '2026.8.17.2'
293293
run: |
294294
tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz"
295295
bash "$GITHUB_WORKSPACE/.github/tools/fetch_release.sh" \
@@ -360,7 +360,7 @@ jobs:
360360
# below are pinned to the same version as XLINGS_VERSION; they are
361361
# NOT interpolated from it, so check_version_pins.sh scans for them
362362
# explicitly (they were absent from the old lock-step comment).
363-
XLA="xlings-2026.8.27.2-linux-aarch64.tar.gz"
363+
XLA="xlings-2026.8.17.2-linux-aarch64.tar.gz"
364364
# NOT fetch_release.sh: this asset is OPTIONAL and the `if` is the
365365
# point — an arch with no prebuilt xlings must fall through quietly,
366366
# while the helper retries a 404 five times before giving up. The one
@@ -369,9 +369,9 @@ jobs:
369369
# cover it.
370370
if curl -fsSL --retry 3 --retry-delay 2 --retry-all-errors \
371371
--connect-timeout 20 --max-time 600 -o "/tmp/$XLA" \
372-
"https://github.com/openxlings/xlings/releases/download/v2026.8.27.2/$XLA"; then
372+
"https://github.com/openxlings/xlings/releases/download/v2026.8.17.2/$XLA"; then
373373
tar -xzf "/tmp/$XLA" -C /tmp
374-
XLBIN=$(find /tmp/xlings-2026.8.27.2-linux-aarch64 -path '*/bin/xlings' -type f | head -1)
374+
XLBIN=$(find /tmp/xlings-2026.8.17.2-linux-aarch64 -path '*/bin/xlings' -type f | head -1)
375375
if [ -n "$XLBIN" ]; then
376376
mkdir -p "$STAGING/$WRAPPER/registry/bin"
377377
cp "$XLBIN" "$STAGING/$WRAPPER/registry/bin/xlings"
@@ -449,7 +449,7 @@ jobs:
449449
- name: Bootstrap mcpp via xlings
450450
env:
451451
XLINGS_NON_INTERACTIVE: '1'
452-
XLINGS_VERSION: '2026.8.27.2'
452+
XLINGS_VERSION: '2026.8.17.2'
453453
run: |
454454
if [ ! -x "$HOME/.xlings/subos/default/bin/xlings" ]; then
455455
WORK=$(mktemp -d)
@@ -632,7 +632,7 @@ jobs:
632632
shell: bash
633633
env:
634634
XLINGS_NON_INTERACTIVE: '1'
635-
XLINGS_VERSION: '2026.8.27.2'
635+
XLINGS_VERSION: '2026.8.17.2'
636636
run: |
637637
# Captured before the `cd` below, in POSIX form: this step never
638638
# returns to the workspace, and GITHUB_WORKSPACE is a backslash

src/platform/xlings/xlings.cppm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ namespace pinned {
4545
// in lock-step by hand; that list was already missing both composite
4646
// actions, which is how CI's sandbox sat on 0.4.30 unnoticed while
4747
// everything else had moved on. Don't reintroduce a hand-maintained list.
48-
inline constexpr std::string_view kXlingsVersion = "2026.8.27.2";
48+
inline constexpr std::string_view kXlingsVersion = "2026.8.17.2";
4949
inline constexpr std::string_view kNasmVersion = "3.02";
5050
}
5151

0 commit comments

Comments
 (0)