ci: use larger Linux runner for LTO release build on main/tags#34029
Conversation
lunadogbot
left a comment
There was a problem hiding this comment.
The build-release-linux-x86_64 change matches the body: runs-on becomes the Xl runner only when github.repository == denoland/deno and (main or tag), so PRs and forks stay on ubuntu-24.04. testRunner: ubuntuX86Runner at ci.ts:54, combined with the existing runsOn: buildItem.testRunner ?? buildItem.runner at ci.ts:1109/1237/1322, correctly pins integration/specs/WPT to the standard runner.
Heads-up: three other jobs share the linuxX86Xl profile and also flip to Xl on main/tags — bench (ci.generated.yml:62), deno_core test linux-x86_64 (ci.generated.yml:6591), deno_core miri linux-x86_64 (ci.generated.yml:6817). The title/body only mention the LTO build; likely fine since those are heavy-linux jobs, but worth confirming you want the upgrade for all three on main since the cost is non-zero.
Holding approval until the remaining 20 pending build/test shards land green.
…34034) Follow-up to #34029, which routed the release Linux LTO build to a larger x86_64 runner (ubuntu-24.04-xl). The intent was the opposite: to move the release build onto a larger ARM runner. This reverts linuxX86Xl back to the standard ubuntu-24.04 runner and adds a linuxArmXl runner config that targets ubuntu-24.04-arm-xl for the aarch64 release plus sysroot build when running on denoland/deno's main branch or on a tag. PRs and forks continue to use the standard ubuntu-24.04-arm runner.
The release Linux build does full LTO and has been hitting out-of-memory
on the standard GitHub-hosted runner on main. This routes the
release-linux-x86_64 build to ubuntu-24.04-xl when running on
denoland/deno's main branch or on a tag, so the link step has enough
memory to complete. PRs and forks keep using the default ubuntu-24.04
runner, and the corresponding test and WPT jobs stay on the standard
runner since they don't need the extra capacity.