Skip to main content
A job on a runner that’s too big pays for idle cores. A job on a runner that’s too small runs slowly or runs out of memory. Blacksmith records CPU and memory for every job, so [code]smith can find the jobs on the wrong size and open a PR that moves them.
Starting a right-sizing session from the Rightsize page and migrating the recommended jobs

Start a session

Open Rightsize in the Blacksmith dashboard and click Rightsize with [code]smith. You can also type /rightsize in any [code]smith session. [code]smith analyzes the last 7 days of jobs, so a repository needs a few days of job history before it gets recommendations.

Review the recommendations

[code]smith shows the results as a card. Each row is one job, with its current and suggested runner, the reason for the change, and the estimated effect on monthly cost and runtime. Rows are labeled by what they improve:
  • Cost: the job leaves most of its CPU and memory unused, so a smaller runner costs less with little change in runtime.
  • Speed: the job is CPU-bound, so a larger runner finishes it faster.
  • Reliability: the job is close to its memory limit or getting OOM-killed, so it needs more headroom.
Low-confidence rows, usually jobs with few runs in the window, start unselected.

Apply the changes

Select the rows you want and click Migrate. [code]smith opens one PR per repository that updates the runs-on: lines for those jobs. Nothing changes until you merge the PR. To dig into a workflow beyond its runner size, see CI tuning. To get the same recommendations in a terminal, run blacksmith jobs diagnose rightsize.