Commit 906781f
fix(ci): scan-and-report — dispatch payload via file, not argv (#155)
## Summary
Consumers of the reusable `scan-and-report.yml` with large scan output
see their Security Scan job die at the dispatch step with
`/usr/bin/curl: Argument list too long` (exit 126) — e.g. echidna main
run 28736074871 — because the whole scan JSON is inlined into curl's
`-d` argument.
- Build the dispatch payload with `jq` into a file and send it with
`--data @dispatch-payload.json` (fixes the argv overflow and the
hand-rolled JSON escaping).
- GitHub caps `repository_dispatch` `client_payload` at ~64KB — the same
repos that overflow argv would then 422. Oversized reports now fall back
to a counts-only summary (`statistics`, `weak_point_count`, severity
histogram, `truncated: true`).
## Verification
- Both jq payload builders exercised against a synthetic AssailReport —
valid JSON, severity histogram correct.
- `actionlint` clean on the workflow.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>1 parent 5f45330 commit 906781f
1 file changed
Lines changed: 26 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
51 | 75 | | |
52 | 76 | | |
53 | 77 | | |
54 | 78 | | |
55 | 79 | | |
56 | | - | |
| 80 | + | |
57 | 81 | | |
0 commit comments