Skip to content

fix(ci): cap heavy builds at two runners with the omni-build label - #11932

Merged
diegosouzapw merged 1 commit into
mainfrom
feat/ci-omni-build-runner-label
Aug 28, 2026
Merged

diegosouzapw merged 1 commit into
mainfrom
feat/ci-omni-build-runner-label

Conversation

@diegosouzapw

Copy link
Copy Markdown
Owner

Por quê

A .113 (31 GB) aguenta um next-build (14–16 GB de RSS) com folga e dois no limite. Em 28/08 o kernel matou o build de main duas vezes com builds de PR ao lado. As faixas de concurrency da #11901 limitam por grupo no GitHub; o label é o teto do lado do runner.

O que muda

  • omni-build adicionado a dois runners via API (omniroute-113-5, omniroute-113-6) — sem re-registro, sem tocar na caixa; já aplicado.
  • Todo job que roda next build passa a pedir [self-hosted, omni-build]: ci.yml build, npm-publish.yml publish, as duas validações do nightly-release-green. Um 3º build enfileira no GitHub em vez de disputar memória.
  • Os outros seis runners mantêm omni-release e deixam de receber builds (hoje nenhum job leve usa a pool — shards rodam em runner hospedado).

docs/ops/RUNNER_BOX.md documenta o teto por label e como ampliar (rotular outro runner, nunca além do que 31 GB aguenta).

Validação

  • YAML válido nos 3 workflows; check:workflows --ratchet: zizmor na baseline (194), regra provenance × self-hosted 0
  • scripts/vps/release-runner-up.sh registra runners com omni-release — intencionalmente não adiciona omni-build (o teto é por rotulagem explícita)

Refs #11901

The .113 box (31 GB) holds one next-build (14–16 GB RSS) comfortably and two
at the edge; on 2026-08-28 the kernel killed main's build twice while PR
builds ran beside it. Labels are the runner-side cap: only omniroute-113-5
and omniroute-113-6 carry omni-build (added through the runners API, no
re-registration), and every job that runs a next build — ci.yml build,
npm-publish.yml publish, both nightly-release-green validations — now asks
for that label. A third heavy job queues on GitHub instead of racing for
memory. The six other runners keep omni-release and no longer take builds.
Pairs with the heavy-build-* concurrency lanes (#11901); documented in
docs/ops/RUNNER_BOX.md.
@github-actions

Copy link
Copy Markdown
Contributor

CI Coverage Report

  • Coverage job: cancelled
  • PR test policy: success

Coverage artifact was not available for this run.

@diegosouzapw
diegosouzapw merged commit f907b5e into main Aug 28, 2026
37 of 40 checks passed
@diegosouzapw
diegosouzapw deleted the feat/ci-omni-build-runner-label branch August 28, 2026 20:19
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…iegosouzapw#11932)

The .113 box (31 GB) holds one next-build (14–16 GB RSS) comfortably and two
at the edge; on 2026-08-28 the kernel killed main's build twice while PR
builds ran beside it. Labels are the runner-side cap: only omniroute-113-5
and omniroute-113-6 carry omni-build (added through the runners API, no
re-registration), and every job that runs a next build — ci.yml build,
npm-publish.yml publish, both nightly-release-green validations — now asks
for that label. A third heavy job queues on GitHub instead of racing for
memory. The six other runners keep omni-release and no longer take builds.
Pairs with the heavy-build-* concurrency lanes (diegosouzapw#11901); documented in
docs/ops/RUNNER_BOX.md.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant