Right-size CI runners onto Blacksmith (FIG-518)#131
Merged
Conversation
Release-Notes: Internal: Right-size merge-gate CI jobs on Blacksmith runners and pair migrated jobs with Blacksmith's Rust cache.
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.
Only 3 of 18 CI jobs used Blacksmith; the rest sat on
ubuntu-latest, including the four slowest remaining jobs (the Confidence-fast shards at 8m/8m/6m/5m) which dominate the ~9 min critical path.FIG-518 had this deferred on two claims from 2026-07-21 — that
blacksmith-4vcpuwas unprovisioned for this org, and that supply arrived in unpredictable bursts. Both were re-tested empirically and are no longer true. An unprovisioned label queues forever rather than erroring, so this had to be measured: a probe ran one job on every size, all five concurrently in a single matrix, and all were allocated within 9–10 seconds with correct cores/memory (2/7Gi, 4/15Gi, 8/30Gi, 16/62Gi, 32/113Gi). Tiered sizing is therefore available, which the old "16vcpu or nothing" constraint ruled out.Sizing
Deliberately NOT migrated
sim-unit-perf-guardsandperf.ymlstay onubuntu-latest. They enforcescripts/perf_guard_budgets.json, which is calibrated to that machine class — moving them would not merely make them faster, it would make every budget pass trivially and hide real regressions. Those budgets were just found to have been ungated for two days (PR #128); silently invalidating them again would repeat the same failure. It is kept on ubuntu via a per-matrix-entryrunnervalue rather than splitting the job, so no job or matrix name changes — the ~20 required check names are byte-identical, so no required gate can be silently dropped.cross-checkis untouched (matrix includes macOS; no Blacksmith darwin).Runner behaviour is only provable in CI. Per FIG-518's second hard-won rule, this wants observing under concurrent runs (a main merge overlapping an open PR) before being called good — a single uncontended green run measures machine speed, not whether CI works.