Skip to content

bootstrap from 2026.10.10.2; CI builds the tree with the pinned mcpp as a developer does, and with the newest release - #796

Merged
Sunrisepeak merged 2 commits into
mainfrom
bootstrap/2026.10.10.2
Oct 10, 2026
Merged

Sunrisepeak merged 2 commits into
mainfrom
bootstrap/2026.10.10.2

Conversation

@Sunrisepeak

@Sunrisepeak Sunrisepeak commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Bootstrap pin

.xlings.json 2026.10.8.1 → 2026.10.10.2. The index pointer serves xim-pkgindex d6f6fd5 (#950).

The pin is checked, not chased

.xlings.json names the mcpp a clone builds with. Inside the checkout, the mcpp shim runs that version and refuses to run until xlings install has installed it (measured in a clean HOME). The pin moves when the tree needs something the pinned mcpp lacks.

Until now, nothing failed when that moment came. A pinned mcpp older than the manifest warns, drops the key and exits 0. Measured with pin 2026.9.24.1 on this tree:

exit output
mcpp build 0 warning: [test] has unsupported key 'windows_code_page' (ignored)
mcpp build --strict 2 error: [test] has unsupported key 'windows_code_page' (ignored)

Changes:

  • build.yml: the self-host build on the four hosts runs mcpp build --strict.
  • ci-bootstrap.yml developer (Linux, macOS, Windows, no cache), as a fresh clone:
    • run xlings install in the checkout (project scope, no -g);
    • assert the shim runs the pinned version;
    • run mcpp build --strict;
    • assert the built binary reports mcpp.toml's version.
  • ci-bootstrap.yml latest (Linux): the newest release builds the tree with --strict. It runs only while the pin lags the newest release and is skipped when they are equal.
  • docs/92-release.md §4 (en, zh) and check_version_pins.sh: the pin moves when the tree needs it, and these jobs say when. Moving it after every release is no longer required.

The post-release pin (docs/92-release.md §4): the index pointer serves
xim-pkgindex d6f6fd5 (#950). A developer's `xlings install` in this tree
and every CI bootstrap take the newest release, whose archives bundle
xlings 2026.10.10.2.
…lone does, and so does the newest release while the pin lags it

.xlings.json names the mcpp a clone builds with: inside the checkout the shim
runs no other. A pinned mcpp older than the manifest warned about a key it did
not know, dropped it and exited 0 (2026.9.24.1 against [test]
windows_code_page), so no job failed when the pin had to move.

- build.yml: the self-host build runs `mcpp build --strict`.
- ci-bootstrap.yml developer (Linux, macOS, Windows, no cache): `xlings
  install` in the checkout, the shim's version equals the pin, `mcpp build
  --strict`, the binary reports mcpp.toml's version.
- ci-bootstrap.yml latest (Linux): the newest release builds the tree with
  --strict while the pin lags it; skipped when they are equal.
- docs/92 §4 (en, zh): the pin moves when the tree needs it, and these jobs
  say when.
@Sunrisepeak Sunrisepeak changed the title bootstrap from 2026.10.10.2 bootstrap from 2026.10.10.2; CI builds the tree with the pinned mcpp as a developer does, and with the newest release Oct 10, 2026
@Sunrisepeak
Sunrisepeak merged commit 2bf99ee into main Oct 10, 2026
60 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant