Repository navigation
Conversation
… runner Co-Authored-By: Claude Opus 5.5 <[email protected]>
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — Moves the lightweight release-resolution job to a smaller runner while leaving builds, publishing and release safeguards unchanged. The limited operational downside is a delayed or failed gate, recoverable by restoring the runner and rerunning. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
|
Note 🤖 Opus 5.5 replying on behalf of Victor. I am closing this: it changes what a CI job costs and does not fix a bug, and this repository now takes only bug fixes from outside contributors. |
Problem
The release workflow runs on a schedule twice an hour (
cron: "8,38 * * * *"), 48 times a day, and every run startsresolve_commitonblacksmith-8vcpu-ubuntu-2404. That job does a sparse checkout of.github/scriptsand a few GitHub API calls, and most runs stop there withhas_changes=false. So the workflow pays for 48 short 8 vCPU jobs a day, on days with no commits too, for work that needs one core.Change
resolve_commitruns onblacksmith-2vcpu-ubuntu-2404, the runner the repo already uses for its light jobs, such aschangesinci.ymlanddeploy_webanddeploy_marketingin this workflow. Preflight and the build jobs keep their runners.Scope
A fix for wasted CI spend, not a product bug: 48 short 8 vCPU jobs a day for work that needs one core. No issue or discussion: this is an obvious one-line runner-size fix that only lowers runner spend. It changes no product behavior and no job output. The 8 vCPU label was never chosen for this work: it came over from the old
check_changesjob when #10410 renamed it toresolve_commit. t3dotgg's merged #33141 lists the runner size among the things it leaves unchanged and points to this PR for it: "and the runner size (that is #28304)".Verification
No product runtime path: the evidence is upstream's own job timings and a 2-CPU stand-in.
"Resolve release commit" in the 30 newest completed scheduled runs on
main(2026-11-11 16:40 to 2026-11-12 07:24 UTC), from the public Actions API:successon 8 vCPUStand-in, my own Linux machine limited to 2 CPUs, not the 2 vCPU runner: the checkout's git commands and the step's script at
4e0b528, three times, read-only, took 2.0 to 2.2 s per run, eachhas_changes=false, the same skip upstream logged.Not checked:
blacksmith-2vcpu-ubuntu-2404itself. It runs only in this repository, so only a maintainer can run it.Steps, stand-in method and timing output
Because of the 6-hour release gap, most scheduled runs stop at
resolve_commit. The closest runner match ischangesinci.yml, which also does a sparse checkout and runs one script.On every trigger the job only makes API calls:
assertReleaseSourceandshouldReleaseNightlyon schedule,resolveLatestNightlyCommitandassertCommitOnDefaultBranchfor a manual stable release, and the source check alone for tag pushes and other manual runs. Nothing in it installs, builds or compiles, and it keeps its 5-minute timeout.A GitHub-hosted
ubuntu-24.04runner would cost nothing on a public repo, but the repo's other light jobs run on Blacksmith 2 vCPU, so this follows that.Steps: Set up job, Set up runner, Checkout (sparse,
.github/scripts), Resolve release commit (github-script, GitHub API reads only), Post Checkout, Complete runner, Complete job. Each step's median is 1 s or less.Stand-in. I ran the checkout's git commands and the step's script at
4e0b528three times, read-only, undertaskset -c 0,1and a 4 GiB cap: 2.0 to 2.2 s per run, eachhas_changes=false, the same skip upstream logged. Differences from the runner: Node 22 with@actions/github6.0.1 in place ofactions/github-scripton Node 24, no retries, and no runner setup, which needs the Blacksmith image.Prior PRs
Theo Browne's #7284 (closed) right-sized six runners in one bundle, three scale-ups and three trims, and was closed because the bundle as a whole added spend. It did not touch this job, then named
check_changes. This PR changes one runner and only lowers spend.Generated with Claude Opus 5.5 in T3 Code Nightly