fix(ci): set NODE_OPTIONS on the unit-shard step and prune stale eslint suppressions

The previous heap bump only touched test:unit:ci:shard, i.e. the node the shard
script spawns. The process that actually runs out of memory is the `c8` wrapper
around it — it aggregates ~577 MB of raw V8 coverage JSON — so the ceiling stayed
at the V8 default (~4 GB) and the shards kept aborting at ~4083 MB, byte for byte
the same failure. Setting NODE_OPTIONS on the step covers c8 and every child,
which is the pattern the coverage-merge job already uses.

Also prunes three eslint suppression entries whose violations no longer exist:
videoBridgeContactSheet.ts and videoBridgeRuntime.ts (no-unused-vars, fixed
during this cycle) and cli-oneproxy-commands.test.ts (no-explicit-any 14 -> 13,
a consequence of restoring the real mock in that test). Stale entries make
`npm run lint` exit 2 with 'There are suppressions left that do not occur
anymore'. Pruned and verified on an uncontaminated checkout, not the devbox.

Refs #10692
This commit is contained in:
Xiangzhe
2026-08-25 08:41:17 -03:00
parent 3d59c661de
commit b6a4739b1f
2 changed files with 8 additions and 12 deletions

View File

@@ -803,6 +803,12 @@ jobs:
- name: Unit tests (shard ${{ matrix.shard }}/8) with V8 coverage
env:
TEST_SHARD: ${{ matrix.shard }}/8
# NODE_OPTIONS (nao so o flag em test:unit:ci:shard) porque quem estoura o
# heap e o processo `c8` que embrulha a suite — ele agrega ~577 MB de JSON
# de cobertura bruta. Subir o teto so no node filho deixa o pai no default
# do V8 (~4 GB) e o OOM continua igual, em ~4083 MB. Mesmo padrao ja usado
# pelo job de merge de cobertura mais abaixo.
NODE_OPTIONS: --max-old-space-size=8192
run: |
rm -rf coverage-shard coverage-shard-report
npx c8 \

View File

@@ -2372,16 +2372,6 @@
"count": 2
}
},
"src/lib/guardrails/videoBridgeContactSheet.ts": {
"@typescript-eslint/no-unused-vars": {
"count": 1
}
},
"src/lib/guardrails/videoBridgeRuntime.ts": {
"@typescript-eslint/no-unused-vars": {
"count": 1
}
},
"src/lib/guardrails/visionBridgeHelpers.ts": {
"@typescript-eslint/no-unused-vars": {
"count": 1
@@ -4130,7 +4120,7 @@
},
"tests/unit/cli-oneproxy-commands.test.ts": {
"@typescript-eslint/no-explicit-any": {
"count": 14
"count": 13
},
"@typescript-eslint/no-unused-vars": {
"count": 1
@@ -6617,4 +6607,4 @@
"count": 2
}
}
}
}