Repository navigation
2026.11.14.1: MCPP_TARGET_SDK; a planned row served by the chosen platform; Windows runner lookup; test discovery skips a package below tests/; release publishes GitHub, index PR, then optional GitCode - #935
Draft
Sunrisepeak wants to merge 4 commits into
Conversation
…out GitCode A build program reads MCPP_TARGET_SDK, the Apple SDK the link names with -isysroot (empty when it names none), from the same function as the link line. A package that supplies a libSystem stub for a link without an SDK asks this instead of MCPP_TARGET_REQUESTED, which on a Mac with --target said the SDK was absent while the link carried it. The release mirrors GitHub, then opens the xim-pkgindex pull request from the sealed mcpp-release.json (index_pr.py, with the updater's marker), and mirrors GitCode last and only when dispatched with `gitcode`. bump_index.sh is removed. Design: .agents/docs/2026-11-14-release-publication-and-macos-sdk-design.md
…ix, never the launcher beside it
…it with a toolchain
…ds its own mcpp.toml
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Design:
.agents/docs/2026-11-14-release-publication-and-macos-sdk-design.md(supplements the 2026-11-14 CI and release time-cost design).The SDK a link names (M1)
MCPP_TARGET_SDK: the Apple SDK directory the link names with-isysroot, empty when the link names none.mcpp::build::link_sdk(tc)answers both the link line (flags.cppm) and the build-program environment (toolchain_env.cpp), so the two cannot disagree.target_sdk()inmcpp.hostprogram.-isysroot, whilebuild_program.cppmstill said a requested target puts no SDK on the link. openkal-macos supplied its three-namelibSystemstub onMCPP_TARGET_REQUESTED, which shadowed the SDK's complete one (undefined symbol: strlen, canarycxx aarch64-macos test, every run since it was added). The openkal-macos change (M2: stub only whenMCPP_TARGET_SDKis empty) is a separate patch release; an older mcpp gives no variable, which reads as empty and keeps today's behaviour.LinkLineGolden/TheLinkAndTheBuildProgramsNameOneSdk. Docs:docs/30-build-mcpp.md(en, zh).Publication (B1-B4)
publish-ecosystem: GitHub mirror (MIRROR_HOSTS=gh, 10 min) -> index PR -> GitCode mirror (MIRROR_HOSTS=gtc, 45 min) only when dispatched withgitcode(default false; a tag push mirrors GitHub only). v2026.11.13.1 spent 713 s on GitCode, 604 s per archive, against 64 s for all GitHub assets..github/tools/index_pr.pywrites the xim-pkgindex entry from the sealedmcpp-release.jsonartifact (no download, no recomputed digest), body starting with the updater's marker, branchauto/bump-xim-mcpp; an existing PR with the marker, or a recipe that holds the version, ends it with nothing done. Applied to the pre-#1155mcpp.luawith the real v2026.11.13.1 manifest, it produces xim-pkgindex#1155 byte for byte.bump_index.shis removed.tests/scripts/test_index_pr.py(in ci.yml): the edit,latest, marker, idempotence, and the workflow's input default and step order.docs/92-release.md(en, zh): pipeline, localMIRROR_HOSTS=gtcmirroring, checklist.A planned row served by the chosen platform (design §3)
plannedrow is built when the platform chosen for the request lists it with a toolchain ([platform] targetsbeside itstoolchain, or a[[platform.provider]]that names one), as when a toolchain is named for the build. The platform's statement decides (serves_with_toolchain, the provider listmcpp why platformreads); a directory platform is checked in P1, a package fetched by the pass in P4 followed by the existing platform restart. A platform that does not list the row is named in the refusal.i686-openkal;--target openkalwas refused on that leg for every consumer.PlatformManifest/APlannedRowIsServedByAStatementWithAToolchain; measured locally: served (directory platform, the set), refused (a directory platform without the row; openkal-platform@0.27.1 fetched from the index). Docs:docs/20-toolchains.md(en, zh).A runner's bare name on Windows
.exe,.cmd,.bat), never a file without one: dirun's package carriesbin/dirun(a POSIX launcher) besidebin/dirun.exe, and the launcher was taken (executable format error). Unit tests on Windows.Test discovery and a package below
tests/(design §4)mcpp.tomlis another package; no[test] discoverglob finds its files. The defaulttests/**/*.cppcompiled the sources of a member suite (tests/cts/src/main.cpp, the layout mtest states for a suite with outside inputs) as tests of the root.TestTargets/APackageBelowTestsIsNotItsTests. Docs:docs/08-testing.md(en, zh).Version 2026.11.14.1; CHANGELOG entry.
Local:
mcpp buildwith 2026.11.13.1;unit/test_link_line_golden6/6;test_index_pr.py9/9; workflow assertions, docs style/structure, version pins.