fix(ci): build app on 16vcpu runner to stop cold-cache OOM kills (#5944)

This commit is contained in:
Waleed
2026-07-24 15:37:35 -07:00
committed by GitHub
parent 6ec2385928
commit 290e52c3f3
+10 -3
View File
@@ -197,11 +197,18 @@ jobs:
# harmless), but the Turbo cache gets its own key: with a shared key, only
# the last committer's new entries survive each run, so the test and build
# Turbo entries would evict each other nondeterministically.
# Same next build as the app image, so it needs the same larger runner in
# GitHub mode: it peaks ~21.9 GB and SIGKILLs on the free 16 GB ones.
# Same next build as the app image, so it needs a large runner. Peak RSS
# tracks Turbo/Turbopack cache warmth, and it is the COLD case that sizes the
# runner: warm peaks ~12 GB, partial ~28 GB, and a cold full rebuild peaked
# 51 GB. The 8vcpu tier only has 30.4 GB, so cold-cache runs OOM-killed the VM
# (oom_count 1, memory p100 ~30.5 GB, ~99% of the tier) — the job burned 8-15
# min and died, while warm runs finished under 8 min. NODE_OPTIONS'
# --max-old-space-size only caps Node's JS heap; the bulk is native Turbopack
# worker memory, so the cap cannot prevent this. 16vcpu = 60.8 GB fits the
# 51 GB cold peak with headroom. Keep the test job on 8vcpu; its memory is fine.
build:
name: Build App
runs-on: ${{ (vars.CI_PROVIDER == '' || vars.CI_PROVIDER == 'blacksmith') && 'blacksmith-8vcpu-ubuntu-2404' || 'linux-x64-8-core' }}
runs-on: ${{ (vars.CI_PROVIDER == '' || vars.CI_PROVIDER == 'blacksmith') && 'blacksmith-16vcpu-ubuntu-2404' || 'linux-x64-8-core' }}
timeout-minutes: 15
steps: