#52765: build: run the Windows publish, release-test and PGO builds on the VM runners
Description of Change
Follow-up to #52754, which moved the two build.yml Windows jobs to the single-use VM runners: this moves the remaining five Windows build jobs on main — windows-publish.yml (x64 + arm64 releases), release-build.yml (release-test builds), and pgo-generation.yml (two builds) — leaving nothing on electron-arc-centralus-windows-amd64-16core in main's workflows. Label change only; the toolchain on the VM image was built from the same list as the container image, and the publish path's tools (python3 via the same shim as before, azcopy, bsdtar, xz from Git's unix tools, node/yarn) are all present. The scale set's max_runners is already 60 (7-day peak demand was 41 across all Windows jobs including publish/PGO), and the VMs have 128 GB RAM and a 600 GB disk, so uncached release builds have more headroom than the containers gave them.
Draft until build.yml has soaked on the VMs for a few days. Publish jobs are ~2h10–2h30 today (p50 over the last 12); the first nightly on this will give the VM number for an uncached ThinLTO+PGO build. After this: the same flip plus the install-build-tools fix (#52754's second commit) needs backporting to each supported release line — the release lines' own workflow files still point at the old label — and only then can the old node pools go (electron/infra#332).
Checklist
- I have filled out the PR description
- I have reviewed and verified the changes
- Nightly publish observed on the VMs
Release Notes
Notes: none
Backports
Semver Impact
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron