ci(web): the six small ci-web jobs read the Linux pool, not LINUX_RUNNER's one 32 vCPU size

Merged
TE
5d ago
+6-6

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 Autofix with [code]smith
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.