mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-13 11:57:19 +01:00
Let the sealed-output guard check pull requests larger than 256 MiB (GST-2494) (#4300)
* Let the sealed-output guard read pull requests larger than 256 MiB (GST-2494) The guard's text check and landed-patch check buffered git diff-tree's whole output under spawnSync's 256 MiB maxBuffer, so a PR with millions of generated lines always refused with an empty-stderr error. Both now spool git's stdout to a private temp file and read it a line at a time after git exits 0; failures name the exit code, signal or timeout. Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Accept the platform spawn error text in the missing-git test (Windows says Executable not found) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Reword the sealed guard changelog entry to pass the prose check Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
0ead11c8e2
commit
842fef1f95
4 files changed
+353
-26
No files matched your search
@@ -5007,6 +5007,17 @@ destination sets `"visibility": "private"` under `sealed` in the base branch's
|
||||
`.gstack/pregate.json`. Capy's pull-request tool may not run local hooks, so
|
||||
run `gstack-pregate sealed` yourself before any push or PR creation.
|
||||
|
||||
**`could not read the published commits: git diff-tree -p failed (<why>)`.**
|
||||
The guard could not read the published patches, so it refuses instead of
|
||||
passing them unread. `<why>` names what failed: an exit code followed by git's
|
||||
own error (`exit 128): fatal: ...`), a signal (`killed by SIGKILL`), the
|
||||
120-second timeout, or a git that could not start. The guard writes git's
|
||||
output to a temporary file in the system temp directory and reads it a line at
|
||||
a time, so patch size has no limit, but that directory needs free space about
|
||||
the size of the patch (hundreds of MB for millions of generated lines); a full
|
||||
disk shows up as a git exit. Fix the cause and rerun `gstack-pregate sealed`.
|
||||
Older gstack refused any patch over 256 MiB here with nothing after the colon.
|
||||
|
||||
<a id="eval-gate-unpriced"></a>
|
||||
### `EVAL_GATE_UNPRICED`
|
||||
|
||||
|
||||
Reference in new issue
Block a user