Repository navigation
Runners: Blacksmith to Namespace (namespace-profile-execupack), sized to what it measured - #14
Merged
Merged
Conversation
…the workflow unparseable PR #10 reworded it to "...per chunk: 8 for the 1.2B...", which YAML reads as a mapping, so GitHub listed the MediaTek workflow by its path and could not dispatch it. The text is quoted and the colon is gone. (This commit also carries the job's runner change below.) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… to what it measured Every workflow runs on one Namespace profile instead of Blacksmith's ARM and x86 sizes. CI on the profile measured 4 x86_64 CPUs, MemTotal 16,438,740 kB, a 101 GB overlay disk and no swap, which the container refuses, so: - config/pipeline.yaml: one tier per recipe with those figures and swap_gib 0; a window that does not fit the RAM is left out of the matrix and recorded as skipped (finding 40 lists what that leaves: up to 8k for the sub-1B models, little from 1.5B up, no LFM2.5 on MediaTek by the current estimate). A larger profile added as a second tier brings the wider windows back. - prepare-host.sh carries on without swap where swapon is refused, and asks for none at 0; the job's own gate already reads the swap that is really there. - solve, export and verify skip a model no window fits, since GitHub fails an empty matrix; the runner probe records a refused window as skipped, and defaults to windows that fit. - The runner-choice tests run on a fixed three-size fleet (the measured Blacksmith sizes) so the logic stays tested for when a second tier is added; test_namespace_runner.py pins the profile, that no workflow runs anywhere else, and what it can and cannot build. - CI prints the runner's CPUs, memory, disk and whether swap works; actionlint knows the label. - CLAUDE.md, README.md, PLAN.md and finding 40 describe the change; the README's Vulkan and MediaTek rows were stale and say what is published now. Reviewed by Codex; its three findings (the probe failing its default 16k window, two stale claims) are fixed here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alpharomercoma
force-pushed
the
namespace-runners
branch
from
October 7, 2026 10:31
6c587d5 to
f0c9945
Compare
alpharomercoma
marked this pull request as ready for review
October 7, 2026 10:31
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.
Moves every job to the Namespace profile
namespace-profile-execupack, and sizes the export matrix to what that runner measured on its own CI run:swapon.What changes
config/pipeline.yaml: one tier per recipe, with those figures andswap_gib: 0. A window that doesn't fit the RAM is skipped, not attempted.prepare-host.sh: carries on without swap where it's refused. It previously failed underset -e, which would have stopped every export at setup.test_namespace_runner.pypins the profile and checks no workflow runs anywhere else.export-mtk.ymlwas unparseable onmainsince PR PLAN: findings 38 and 39 say no more than their runs show #10 (an unquoted colon), so GitHub couldn't dispatch it. Fixed in its own commit.What it costs (finding 40, from the sizing model, not from runs on the profile)
Adding a larger Namespace profile to the tier lists brings the wider windows back.
Reviewed by Codex; its three findings are fixed. CI ran on the profile: 225 passed.
🤖 Generated with Claude Code