Commit graph

1 commit

Author SHA1 Message Date
Doksanbir
dd6f6aa4b3
fix(ci): preflight job outputs exceed 1 MiB on full-plan pull requests (#140018)
* fix(ci): keep preflight job outputs under GitHub's 1 MiB cap

Pull requests that need the full canonical Node test plan failed preflight
with "Job outputs exceed 1,048,576 bytes", which made ci-gate report every
lane as selected=missing. The compact plan lists 7,749 striped test files
explicitly, and GitHub measures job outputs in UTF-16, so the effective cap
for all preflight outputs is 524,288 characters. The manifest reached ~522K
characters on the github profile as the tracked test inventory grew.

Emit each Node matrix row's groups as gzip+base64 JSON at the manifest
boundary and unpack them in the shard runner. On current main this takes the
github-profile manifest from 522,522 to 195,410 characters and the blacksmith
profile from 450,639 to 158,571, with identical jobs and group membership.
The manifest imports the codec through the existing target-plan seam, the
trusted runner checkout lists it, and plain OPENCLAW_NODE_TEST_GROUPS_JSON
remains for the Vitest cache warmer.

Related to #139929 and #136820.

* fix(ci): load the Node test groups codec only for grouped rows

The manifest imported scripts/lib/ci-node-test-groups-codec.mts
unconditionally through importTargetPlan. An ordinary manual
workflow_dispatch whose target_ref predates the codec is not a
compatibility target, so the import threw before planning even though
such targets emit an ungrouped plan and never call the encoder.

Import the codec only when the emitted Node rows carry groups, and keep
the clear failure when a grouped plan comes from a target without it.
The workflow-guard fixture can now omit the codec so a codec-free manual
target runs the real manifest step.

* fix(ci): preserve grouped historical test plans

Negotiate the packed group codec against the selected target and fall back to the same five-field legacy projection when the codec is unavailable.

Five-field projection adapted from #140036.

Co-authored-by: Peter Steinberger <steipete@gmail.com>

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-09-06 20:18:41 +08:00