|
19 | 19 | runs-on: ubuntu-24.04 |
20 | 20 | timeout-minutes: 40 |
21 | 21 | env: |
22 | | - MCPP_VERSION: 2026.8.26.2 |
| 22 | + MCPP_VERSION: 2026.8.27.1 |
23 | 23 | XLINGS_VERSION: v2026.8.17.2 |
24 | 24 | XLINGS_NON_INTERACTIVE: '1' |
25 | 25 | # The branch of the specification this backend is verified against. It |
|
78 | 78 | echo "the index has not caught up yet (attempt $attempt of 6); waiting 60s" |
79 | 79 | sleep 60 |
80 | 80 | done |
| 81 | + # ⚠️⚠️ TRANSITION: GIVE THE BOOTSTRAP THE glibc ITS BINDING NAMES. |
| 82 | + # |
| 83 | + # `xim:glibc`'s `latest` moved from `2.44` to `2.44.2`. A payload |
| 84 | + # directory is named after the version a request RESOLVED to, while a |
| 85 | + # RuntimeBinding carries the version that was DECLARED — and the xlings |
| 86 | + # a released mcpp vendors into its own sandbox still declares `2.44`. |
| 87 | + # So a clean machine installs `2.44.2`, the toolchain fixup asks for |
| 88 | + # `2.44`, and the build stops before anything is compiled: |
| 89 | + # |
| 90 | + # error: selected RuntimeBinding glibc@2.44 requires payload |
| 91 | + # '…/xpkgs/xim-x-glibc/2.44', but it is not installed |
| 92 | + # |
| 93 | + # ⚠️ On every NEW machine and on none that already existed, which is why |
| 94 | + # it is invisible from a developer's own. Measured on `main` as readily |
| 95 | + # as on any branch — the index records the same failure verbatim in |
| 96 | + # `pkgs/g/glibc.lua` and states the rule it broke: "The index is DATA |
| 97 | + # and the client is a PROGRAM: the consumer ships first." |
| 98 | + # |
| 99 | + # ⭐ REMOVE THIS once a released mcpp resolves it. `mcpp 2026.8.27.1` |
| 100 | + # accepts an installed payload whose version REFINES the requested one |
| 101 | + # (`payload_dir_for_version`), so a bootstrap from it needs nothing |
| 102 | + # here. Until then the missing payload is simply installed. |
| 103 | + if [ -x "$HOME/.mcpp/registry/bin/xlings" ]; then |
| 104 | + XLINGS_HOME="$HOME/.mcpp/registry" XLINGS_NON_INTERACTIVE=1 \ |
| 105 | + "$HOME/.mcpp/registry/bin/xlings" install glibc@2.44 -y -g \ |
| 106 | + >/dev/null 2>&1 || true |
| 107 | + echo "glibc payloads present: $(ls "$HOME/.mcpp/registry/data/xpkgs/xim-x-glibc" 2>/dev/null | tr '\n' ' ')" |
| 108 | + fi |
81 | 109 | mcpp --version |
82 | 110 | mcpp self config --mirror GLOBAL |
83 | 111 | # ⭐⭐ CROSS-VALIDATION: BUILD THE mcpp UNDER REVIEW AND USE THAT ONE. |
@@ -246,7 +274,7 @@ jobs: |
246 | 274 | run: |
247 | 275 | shell: bash |
248 | 276 | env: |
249 | | - MCPP_VERSION: 2026.8.26.2 |
| 277 | + MCPP_VERSION: 2026.8.27.1 |
250 | 278 | XLINGS_VERSION: v2026.8.17.2 |
251 | 279 | XLINGS_NON_INTERACTIVE: '1' |
252 | 280 | steps: |
@@ -307,6 +335,34 @@ jobs: |
307 | 335 | echo "the index has not caught up yet (attempt $attempt of 6); waiting 60s" |
308 | 336 | sleep 60 |
309 | 337 | done |
| 338 | + # ⚠️⚠️ TRANSITION: GIVE THE BOOTSTRAP THE glibc ITS BINDING NAMES. |
| 339 | + # |
| 340 | + # `xim:glibc`'s `latest` moved from `2.44` to `2.44.2`. A payload |
| 341 | + # directory is named after the version a request RESOLVED to, while a |
| 342 | + # RuntimeBinding carries the version that was DECLARED — and the xlings |
| 343 | + # a released mcpp vendors into its own sandbox still declares `2.44`. |
| 344 | + # So a clean machine installs `2.44.2`, the toolchain fixup asks for |
| 345 | + # `2.44`, and the build stops before anything is compiled: |
| 346 | + # |
| 347 | + # error: selected RuntimeBinding glibc@2.44 requires payload |
| 348 | + # '…/xpkgs/xim-x-glibc/2.44', but it is not installed |
| 349 | + # |
| 350 | + # ⚠️ On every NEW machine and on none that already existed, which is why |
| 351 | + # it is invisible from a developer's own. Measured on `main` as readily |
| 352 | + # as on any branch — the index records the same failure verbatim in |
| 353 | + # `pkgs/g/glibc.lua` and states the rule it broke: "The index is DATA |
| 354 | + # and the client is a PROGRAM: the consumer ships first." |
| 355 | + # |
| 356 | + # ⭐ REMOVE THIS once a released mcpp resolves it. `mcpp 2026.8.27.1` |
| 357 | + # accepts an installed payload whose version REFINES the requested one |
| 358 | + # (`payload_dir_for_version`), so a bootstrap from it needs nothing |
| 359 | + # here. Until then the missing payload is simply installed. |
| 360 | + if [ -x "$HOME/.mcpp/registry/bin/xlings" ]; then |
| 361 | + XLINGS_HOME="$HOME/.mcpp/registry" XLINGS_NON_INTERACTIVE=1 \ |
| 362 | + "$HOME/.mcpp/registry/bin/xlings" install glibc@2.44 -y -g \ |
| 363 | + >/dev/null 2>&1 || true |
| 364 | + echo "glibc payloads present: $(ls "$HOME/.mcpp/registry/data/xpkgs/xim-x-glibc" 2>/dev/null | tr '\n' ' ')" |
| 365 | + fi |
310 | 366 | mcpp --version |
311 | 367 | mcpp self config --mirror GLOBAL |
312 | 368 | # ⭐⭐ CROSS-VALIDATION: BUILD THE mcpp UNDER REVIEW AND USE THAT ONE. |
|
0 commit comments