two things verifying 2026.8.26.2 turned up - #513
Merged
Conversation
`examples/06-openkal-cross` documented three target spellings. The fourth — `--target aarch64-linux` — is the one 2026.8.26.2 made writable; before it, the request completed to `aarch64-linux-gnu`, a row registered but not supported, and refused while `aarch64-linux-musl` built. Its `[toolchain] default = "llvm@22.1.8"` is gone. `openkal-llvm-runtime` declares `requires = ["mcpp:compiler=llvm"]`, and mcpp now reads that, so the manifest naming a compiler was stating something the graph already says. Measured on a machine whose global default is gcc: all four targets resolve `llvm@22.1.8`, and `~/.mcpp/config.toml` is byte-identical afterwards.⚠️ And the dependency floor still read `0.1.1`, whose compiler-rt builtins do not compile for aarch64 — which is what the aarch64 leg actually died on before this. Nothing builds this example in CI, so a pin going stale here has nothing that would say so.
Same commit: the PR's `scan (windows-x86_64)` was green and the same job on main was red. That run's restored cache carried an extra `gcc@16.1.0`, so the scan produced 24 cells where the expected table declares 16 for that host, and all eight extras were reported as cells the table does not mention. What a runner happens to have installed is not what this repository declares, and the criterion has to be the second. The compiler axis now comes from expected.tsv's own column, computed by the workflow from the same column the install step reads — so "install these" and "scan these" cannot disagree. Installed versions outside the declaration are named on stderr; a measurement that did not run and one that passed are indistinguishable from an exit code.
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.
Follow-up to #512, discovered while verifying it.
examples/06-openkal-crossteaches the short target spellings. It listed three; the fourth —--target aarch64-linux— is precisely the one 2026.8.26.2 made writable. Verified at the artifact:[toolchain] default = "llvm@22.1.8"is removed.openkal-llvm-runtimedeclaresrequires = ["mcpp:compiler=llvm"], and mcpp now reads it — so the manifest was restating what the graph already says. Measured with a gcc global default, all four targets:and
~/.mcpp/config.tomlbyte-identical afterwards.0.1.1, whose compiler-rt builtins do not compile for aarch64 — that is what the aarch64 leg actually died on. Nothing in CI builds this example, so a pin expiring here has nothing that would say so. I nearly recorded this as an mcpp/openkal aarch64 defect and a CI coverage gap; both were wrong.tests/e2e/287does buildaarch64-linux-muslover openkal and passes.All four targets built locally before and after.
And the matrix's compiler axis was following the cache
scan (windows-x86_64)was green, and the same job on main was red. That run's restored cache carried an extragcc@16.1.0, so the scan produced 24 cells whereexpected.tsvdeclares 16 for that host — and all eight extras were reported as cells the table does not mention.What a runner happens to have installed is not what this repository declares, and the criterion has to be the second.
scan.sh's compiler axis now comes fromexpected.tsv's own column viaMATRIX_COMPILERS, computed by the workflow from the same column the install step reads — so "install these" and "scan these" cannot disagree.⭐ Installed versions outside the declaration are named on stderr rather than silently dropped: a measurement that did not run and one that passed are indistinguishable from an exit code.
Verified locally —
linux-x86_64payload mode, 24 cells matched, three undeclared installed versions reported by name.