Skip to content

Commit 1b6f527

Browse files
committed
chore(xlings): pin 2026.8.17.2 → 2026.8.27.1,索引已经在等这个客户端
⚠️⚠️ 这是那条 `glibc@2.44 ... not installed` 的**主因**,而它在索引里被逐字 预告过。`xim-pkgindex` 的 `pkgs/g/glibc.lua` 记着一对提交: fb289b8 glibc: withdraw 2.44.2 until the client that can resolve it ships 557e862 glibc: restore 2.44.2 now that the client resolving it has shipped 以及那次失败的原文: -- released xlings pinned `glibc@2.44`, payload directories are named -- after the version, and so a clean environment installed 2.44.2 and -- then found nothing answering to the binding -- error: selected RuntimeBinding glibc@2.44 requires payload -- '<home>/.../xpkgs/xim-x-glibc/2.44', but it is not installed -- on every NEW environment and on none that already existed. -- The index is DATA and the client is a PROGRAM: the consumer ships first. ⭐ 那个消费者是 **xlings 2026.8.27.1**(openxlings/xlings#567):它改为从索引文件 读默认 runtime binding,而不是读一个编译进客户端的常量。mcpp 钉的还是 8.17.2, 所以每一台冷缓存的 CI 机器都停在上面 —— **在 main 上和在任何分支上一样**。 ## ⭐ 与前一条提交的关系(两条,不是一条的两半) | | 覆盖谁 | |---|---| | 本条(pin) | **新环境**:xlings 从索引读绑定,直接绑到 2.44.2 | | 前一条(`select_glibc_payload_lib`) | **已存在的环境升级**:subos 记下的绑定还是 `2.44`,而载荷已经是 `2.44.2`,且 SubOS 视图尚未建立 —— `runtime_binding.cppm:224` 早一个版本就记过这个形状 | 两者在不同的层,谁也替代不了谁;去掉后者,一台已经跑过一次的机器在升级后仍会停住。 ## 判据 `.github/tools/check_version_pins.sh` 是这件事的唯一真源检查器,它一次列出了 全部 7 个不同步的点(3 个 workflow + 2 个 composite action + 2 个 release 段), 同步后退出码 0。**这正是它存在的理由** —— 注释里说过,手工维护的清单曾漏掉 两个 composite action,让 CI 的沙箱在 0.4.30 上停了很久没人发现。
1 parent dd2b278 commit 1b6f527

8 files changed

Lines changed: 20 additions & 20 deletions

File tree

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

Lines changed: 4 additions & 4 deletions
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.17.2'
28+
default: '2026.8.27.1'
2929
cache-target:
3030
description: also restore/save target/ (build artifacts + BMIs)
3131
required: false
@@ -49,7 +49,7 @@ runs:
4949
# `ubuntu-24.04-arm` restored what `ubuntu-24.04` had stored. Measured
5050
# the first time this repo scheduled an arm Linux runner:
5151
#
52-
# Cache hit for: xlings-Linux-v2-xl2026.8.17.2-…
52+
# Cache hit for: xlings-Linux-v2-xl2026.8.27.1-…
5353
# …/bin/xlings: cannot execute binary file: Exec format error
5454
#
5555
# ⭐ AND IT SURVIVED THE FIX ONE LAYER DOWN. Reading `uname -m` to pick
@@ -93,7 +93,7 @@ runs:
9393
# invisible until a Linux runner is not x86_64. Measured on
9494
# `ubuntu-24.04-arm`, the first time this repo scheduled one:
9595
#
96-
# .../xlings-2026.8.17.2-linux-x86_64/subos/default/bin/xlings:
96+
# .../xlings-2026.8.27.1-linux-x86_64/subos/default/bin/xlings:
9797
# cannot execute binary file: Exec format error
9898
# Process completed with exit code 126
9999
#
@@ -118,7 +118,7 @@ runs:
118118
"${WORK}/${tarball}"
119119
tar -xzf "${WORK}/${tarball}" -C "${WORK}"
120120
# ⚠️⚠️ THE TWO LINUX TARBALLS DO NOT HAVE THE SAME SHAPE, and this line
121-
# named one of them. Measured on the 2026.8.17.2 assets:
121+
# named one of them. Measured on the 2026.8.27.1 assets:
122122
#
123123
# linux-x86_64 → subos/default/bin/xlings (513 entries)
124124
# linux-aarch64 → bin/xlings (494 entries)

.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.17.2'
18+
default: '2026.8.27.1'
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.17.2'
20+
XLINGS_VERSION: '2026.8.27.1'
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.17.2
155+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.27.1
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.17.2
296+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.27.1
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.17.2
367+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.27.1
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.17.2
240+
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v2026.8.27.1
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.17.2'
125+
XLINGS_VERSION: '2026.8.27.1'
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.17.2'
266+
XLINGS_VERSION: '2026.8.27.1'
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.17.2'
99+
XLINGS_VERSION: '2026.8.27.1'
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.17.2'
292+
XLINGS_VERSION: '2026.8.27.1'
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.17.2-linux-aarch64.tar.gz"
363+
XLA="xlings-2026.8.27.1-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.17.2/$XLA"; then
372+
"https://github.com/openxlings/xlings/releases/download/v2026.8.27.1/$XLA"; then
373373
tar -xzf "/tmp/$XLA" -C /tmp
374-
XLBIN=$(find /tmp/xlings-2026.8.17.2-linux-aarch64 -path '*/bin/xlings' -type f | head -1)
374+
XLBIN=$(find /tmp/xlings-2026.8.27.1-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.17.2'
452+
XLINGS_VERSION: '2026.8.27.1'
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.17.2'
635+
XLINGS_VERSION: '2026.8.27.1'
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.17.2";
48+
inline constexpr std::string_view kXlingsVersion = "2026.8.27.1";
4949
inline constexpr std::string_view kNasmVersion = "3.02";
5050
}
5151

0 commit comments

Comments
 (0)