mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-25 16:42:16 +03:00
fix(ci): raise the unit-shard heap ceiling to 8192 MB to stop the SIGABRT OOM
The 8 unit shards run under V8 coverage instrumentation, which retains far more
memory than the bare suite. With the 4096 MB ceiling they began aborting with
exit 134 ("Ineffective mark-compacts near heap limit") at ~4086 MB as the
provider catalogue grew during the v3.8.50 cycle: every test in the shard passed
and the process died at the end, which reads as a test failure without being one.
Aligns test:unit:ci:shard and test:unit:serial with the 8192 MB the non-sharded
variants already use. GitHub-hosted runners have 16 GB, so the headroom is real.
Validated by the CI run on this commit — the shards are the gate.
Refs #10692
This commit is contained in:
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@@ -792,6 +792,14 @@ jobs:
|
||||
# D3 (plano mestre): a coverage é coletada NESTE mesmo run (c8/NODE_V8_COVERAGE propaga
|
||||
# aos filhos através do npm) — elimina a matrix Coverage Shard ×8, que re-executava a
|
||||
# suíte inteira só para medir o gate. Padrão usado pelo CI do próprio nodejs/node.
|
||||
# Heap: os shards rodam sob instrumentacao de cobertura do V8, que retem muito
|
||||
# mais memoria que a suite crua. Com o teto antigo de 4096 MB os shards passaram
|
||||
# a abortar com SIGABRT (exit 134, "Ineffective mark-compacts near heap limit")
|
||||
# ao redor de 4086 MB conforme o catalogo de providers cresceu no ciclo v3.8.50 —
|
||||
# todos os testes passavam e o processo morria no fim, o que le como falha de
|
||||
# teste sem ser. O teto vive em `test:unit:ci:shard` (package.json) e agora
|
||||
# acompanha os 8192 MB ja usados pelas variantes nao-shardadas; os runners
|
||||
# GitHub-hosted tem 16 GB.
|
||||
- name: Unit tests (shard ${{ matrix.shard }}/8) with V8 coverage
|
||||
env:
|
||||
TEST_SHARD: ${{ matrix.shard }}/8
|
||||
|
||||
Reference in New Issue
Block a user