PyTorch CI fix prevents infinite queueing for OSDC l-* runners
A bug left empty runner prefixes causing jobs to queue forever on OSDC hardware.
A recently merged pull request (PR #188207) in the PyTorch repository addresses a critical CI queuing issue affecting OSDC (Open Source Developer Cloud) l-* runners. The bug originated from the `no-runner-experiments` tag, which empties the runner prefix. While this was previously safe when prefixes served as fleet selectors over shared labels, ARC (Actions Runner Controller) now remaps to OSDC-only names (e.g., `linux.2xlarge` -> `l-x86iavx512-8-64`) with no bare equivalent. Consequently, an empty prefix produced unschedulable `l-*` labels that queued forever, wasting compute resources and blocking CI pipelines.
The fix makes the OSDC prefix mandatory for all `l-*` runners. When an empty prefix is provided, it now defaults to `mt-` in the `map_ec2_to_arc.py` script (passthrough rocm/xpu remain bare). This change is applied at three sites that build `l-*` runners directly: `_docs.yml`, `_linux-build.yml`, and `trunk.yml`. A global `mt-` default was rejected because Windows, macOS, ROCm, XPU, and hosted runners have no `mt-` prefix. The fix was validated with 19 passing tests (including 2 new) and clean lintrunner output. The PR was authored with assistance from Claude Code.
- Bug caused by `no-runner-experiments` tag emptying runner prefix for OSDC l-* instances
- Fix makes OSDC prefix mandatory for l-* runners, defaulting to `mt-` in mapping script
- Changes applied to three site files; 19 tests pass and lintrunner is clean
Why It Matters
Ensures reliable CI for PyTorch, preventing wasted compute and unblocking developer workflows.