Repository navigation
2026.10.30.1: target sets and legs; the packaging model revised; run coverage; descriptor keys by the target's row; the build's contract; an ambiguous dependency name is no package's; the Web link's level and exception model - #862
Merged
Conversation
… run coverage, no silent fallback, external builds, one mcppls package, the editors Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…d descriptor_keys in a platform; an ambiguous dependency name is no package's; the Web link has the profile's level and the exception model; the build's contract - A target reads the descriptor blocks its row names, in order, and never the build machine's (#851): emscripten, linux; ios, macosx; openkal, linux; none. A platform states its own with [platform] descriptor_keys. - [platform] runner.hosts; carrier as a table or an array of entries with hosts and a build model; the entry serving an <os>-<arch> is chosen. - A name two dependencies answer to is published for neither; the program reads MCPP_DEP_AMBIGUOUS_<NAME>, and dep_dir() of it ends naming both (#852). - emcc's link carries the profile's optimisation level (#851); [target.<sel>.abi] exceptions takes "wasm" or "js", true keeping the JavaScript model. - ${mcpp.contract}: the configuration's compilers, words and link, written beside its compile database for a foreign build to compile for the target. - Version 2026.10.30.1. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…r is a program - A package states where it runs, once, when it is packed: runs_on.self (with what it carries) and runs_on.with.<runner> (given the machine's runner, from the platform's runner.hosts). --merge unites it; an older package's is derived from its systems and images. - mcpp emit xpkg writes each system's block from runs_on: a self-contained universal package names the pairs whose runner it carries, so an Intel Mac is no longer offered a package with no runner for it (#860). - bin/<name>.exe replaces bin/<name>.cmd: the engine's launcher program, built for x86_64 Windows over the platform's hosted arrangement, finds the package from its own path and becomes the runner; the POSIX script hands a Windows shell (Git Bash, MSYS, Cygwin) to it. xvm registers <name>.exe. - dep_dir's refusal of an ambiguous name is printed on standard output: a FILE binding in the build-program module collided with a program's <cstdio>. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…nd the POSIX script's hand-off to it Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…f a system, the legs of one command are planned serially and built at once, run takes the first reachable leg, test runs every reachable leg and fails when none ran, tests are archived once and run elsewhere - target sets (`openkal`, `linux-musl`, `none-eabihf`) are recognised by their first segment and expanded in the CLI against the target table; members must select one platform; a member the platform does not serve is left out, stated - mcpp::build::legs: plan (serial, mcpp.lock written by one planner), build and run_by_directory (concurrent across build directories, static job share, one Finished); the Android, universal, library and platform-test leg loops use it - build/run/test/self env take several --target; [pack] targets is parsed; [build] target refuses a set - mcpp test --no-run --archive <file> / --archive <file> - machine output: one leg unchanged; several legs add data.legs, the legs' status, triple on artifact/diagnostic events, legs in .last-result.json - unit tests (target sets, legs, manifest); e2e 963, 964 Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…em of each architecture Under openkal-platform 0.17.3 a vendored universal package's runs_on came out empty and emit xpkg refused it (e2e 957). Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…f a platform with a runner are one tree whatever the number of legs, other programs a package per leg; runs_on in the summary and the envelope; --systems <os>, <os>-<arch>, all; --pkg-format lists of one tree's containers; single files cover legs x systems; --merge writes the launchers again; the universal spellings migrated Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…as every system, an empty runs_on is the platform's statement Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…nside the one mcppls package Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…ocs/50, and the release's notes for target sets and the pack model Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Sunrisepeak
force-pushed
the
release/2026.10.30.1
branch
from
October 29, 2026 20:22
2fd1214 to
bab910d
Compare
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…onger refused Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… and tool window icons are the logo, not text Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…r the hosted arrangement a \-named path has no parent, and the package held no architecture (e2e 988) Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…hat names it Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…but not read (openkal-linux 0.18.3, #857) Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…e destination of its own copy (e2e 985 D) Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…981 runs over the emsdk the scan job installs, e2e 988 in the wine job; e2e 730 reports the shared home's state when the rung is not taken Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…pieces, and a program that cannot start is reported with the system's account - tar_algorithm(name), the inverse of tar_extension, is the one rule by which unpack, --merge and the test archive read a name; `mcpp test --archive` refuses a name that states no tar archive before the build (exit 2). The archive was written gzip whatever its name and read by its name (e2e 964 E). - zlib counts in 32 bits: input and output pass in 1 GiB pieces, positions kept outside zlib, so a .tar.gz over 4 GiB is one member (unit PackCompress). - errno_of classifies invalid, no memory, directory, not supported and too large; RunResult::spawn_detail carries os's context and native value into the reports of `mcpp test` and `mcpp test --archive`, which said only "error 5". Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…ted only where the system has one (e2e 989) runtime_library_path_key() is empty on macOS, whose programs keep their rpaths; `mcpp test --archive` stated it regardless, and openkal-macos refuses an environment entry of an empty name, so every test program of an aarch64-macos leg was "invalid argument" -- reported as "error 5" before the spawn detail. e2e 989 archives the host leg's tests and runs them from a checkout on every system, with no llvm; 964's openkal legs run on Linux only. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Sunrisepeak
marked this pull request as ready for review
October 30, 2026 03:49
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.
Implements design 2026-10-29 (
.agents/docs/2026-10-29-ecosystem-target-sets-packaging-and-editors-design.md). Draft: the target-set and packaging commits are still landing.Fixes #851, #852, #857 (through openkal-linux 0.18.3), #860.
Co-authored-by: speak-agent 248744407+speak-agent@users.noreply.github.com