cve-gate.py: Job Summary용 축약 리포트(--brief-md) 추가 — 1MB 제한 대응
전체 카탈로그(45+ 차트) 스캔을 실제로 CI에서 돌려보니 GITHUB_STEP_SUMMARY 가 1MB 제한에 걸려 cve-gate.md(2.2MB) 업로드가 중단됐다 — CVE 개별 상세(차단 항목·벤더 하향 등급 등)가 이미지당 CVE 수에 비례해 불어나는 게 원인이다. render_summary_table()로 차트·이미지별 건수 표를 뽑아 render_md(전체)와 render_brief_md(신규, Job Summary용) 양쪽에서 재사용한다. brief 는 건수 표 + 누락/커버리지 이상 건수만 담고, CVE 개별 상세는 아티팩트(cve-gate.md/json)를 보라고 안내한다 — 이미지 수에는 선형으로 늘지만 이미지당 CVE 수에는 무관해 카탈로그가 커져도 1MB 제한에 걸리지 않는다. sbom.yml 의 Job Summary 스텝을 --brief-md 출력으로 교체했다. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -127,17 +127,22 @@ jobs:
|
||||
--exceptions doc/cve-exceptions.json \
|
||||
--sbom-dir "$OUT_DIR/sbom" \
|
||||
--summary-md "$OUT_DIR/cve-gate.md" \
|
||||
--brief-md "$OUT_DIR/cve-gate-brief.md" \
|
||||
--artifact-name sbom-and-vuln-report \
|
||||
--json-out "$OUT_DIR/cve-gate.json" \
|
||||
--warn-only
|
||||
else
|
||||
echo "스캔 리포트 없음 — 게이트 판정 생략"
|
||||
fi
|
||||
|
||||
# Job Summary($GITHUB_STEP_SUMMARY)는 1MB 제한이 있다 — 전체 리포트(cve-gate.md)를
|
||||
# 그대로 넣으면 카탈로그 전체 스캔에서 실제로 잘렸다(45+ 차트, 2.2MB 실측).
|
||||
# 건수 표만 담은 cve-gate-brief.md 를 쓰고, CVE 상세는 아티팩트를 보라고 안내한다.
|
||||
- name: Job Summary
|
||||
if: always()
|
||||
run: |
|
||||
if [ -f "$OUT_DIR/trivy-summary.md" ]; then cat "$OUT_DIR/trivy-summary.md" >> "$GITHUB_STEP_SUMMARY"; fi
|
||||
if [ -f "$OUT_DIR/cve-gate.md" ]; then cat "$OUT_DIR/cve-gate.md" >> "$GITHUB_STEP_SUMMARY"; fi
|
||||
if [ -f "$OUT_DIR/cve-gate-brief.md" ]; then cat "$OUT_DIR/cve-gate-brief.md" >> "$GITHUB_STEP_SUMMARY"; fi
|
||||
|
||||
# 아티팩트 레이아웃 정리: 요약·인덱스는 최상위, 이미지별 상세 SBOM 은 sbom/ 하위.
|
||||
# (절대경로로 업로드하면 v4 가 전체 경로트리를 보존하므로, 스테이징 후 상대경로로 업로드)
|
||||
|
||||
Reference in New Issue
Block a user