ci(web): the six small ci-web jobs read the Linux pool, not LINUX_RUNNER's one 32 vCPU size
Six small ci-web jobs used vars.LINUX_RUNNER as their only runner: web-subarea-scope, react-apps-check, webviews-test-durations, webviews-test-history, web-db-migrations and web-status. That variable holds a single Blacksmith label, currently blacksmith-32vcpu-ubuntu-2404.
On 2026-11-01, the web-subarea-scope job of #30220 (job 124764110996) sat more than 21 minutes with no runner assigned (runner_id 0) on that label, while Blacksmith 2 and 4 vCPU jobs started within seconds. Every webview verdict, and next-autoland's land, waits behind that job.
These jobs now read fromJSON(vars.RUNNER_POOLS).linux, which runner_pools.py keeps on a live member. ci.yml's small jobs and app-platform.yml already do this. The fork and non-manaflow branches are unchanged.
The ci-web.yml entry in tests/test_ci_linux_single_size.py goes from 6 to 0. That count only shrinks, so these jobs can't drift back to a single size.
Blacksmith minutes per day: about the same (the same jobs, on a smaller live size instead of an unassigned 32 vCPU queue). I have no before/after measurement.
Changelog
none
Observed / Not run
python3 -I tests/test_ci_linux_single_size.py: fails on base when the six jobs move off LINUX_RUNNER without lowering the count; passes at head.- These pass at head: test_ci_runner_set, test_ci_fast_checks_failover, test_runner_label_policy, test_nightly_trusted_routing, test_nightly_signer_jobs and test_ci_signing_owned_mac.
- test_ci_blacksmith_linux_failover, test_ci_warm_sources and test_nightly_sign_runner fail identically at head and base, and none of their failures names ci-web.
- Not run: a live CI run at this head.
risk: normal
Agent session: agent session
š¤ Generated with Claude Code
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Switches six small ci-web jobs ā web-subarea-scope, react-apps-check, webviews-test-durations, webviews-test-history, web-db-migrations, web-status ā from the single blacksmith-32vcpu-ubuntu-2404 label behind vars.LINUX_RUNNER to fromJSON(vars.RUNNER_POOLS).linux, matching ci.yml's small jobs. On 2026-11-01 one of these jobs sat more than 21 minutes with no runner assigned at that size while smaller Blacksmith jobs started within seconds, blocking the webview verdict and autoland. The merge with feat-cmux-next resolved conflicts over #30435; react-apps-check keeps its owned-mini member.
The ci-web.yml entry in tests/test_ci_linux_single_size.py drops to 0, so these jobs can't drift back to a single size. Fork and non-manaflow branches are unchanged.