From 7a92b538338cf2790c31c50d7c513d79d244d748 Mon Sep 17 00:00:00 2001 From: wbsong111 Date: Thu, 13 Aug 2026 14:46:16 +0900 Subject: [PATCH] =?UTF-8?q?sbom.yml=EC=97=90=20workflow=5Fdispatch=20chart?= =?UTF-8?q?=20=EC=9E=85=EB=A0=A5=20=EC=B6=94=EA=B0=80=20=E2=80=94=20?= =?UTF-8?q?=EC=B0=A8=ED=8A=B8=EB=B3=84=20=EB=8B=A8=EB=8F=85=20=EC=8A=A4?= =?UTF-8?q?=EC=BA=94=20=EC=A7=80=EC=9B=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit limit(개수 상한)만으로는 특정 차트를 겨냥해 스캔할 수 없었다(images_final.tsv가 차트 알파벳 순으로 쌓여 앞쪽 무관한 차트까지 같이 스캔됨). chart 입력을 비우면 기존과 동일하게 전체 스캔. Co-Authored-By: Claude Sonnet 5 --- .github/workflows/sbom.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sbom.yml b/.github/workflows/sbom.yml index 45ae340..ab25cc3 100644 --- a/.github/workflows/sbom.yml +++ b/.github/workflows/sbom.yml @@ -13,6 +13,10 @@ on: description: '대상 이미지 수 상한 (0=전체). 테스트 시 예: 3' required: false default: '0' + chart: + description: '대상 차트명 (비우면 전체). manifests/helm/ 아래 디렉토리명과 일치해야 한다. 예: apisix' + required: false + default: '' pull_request: paths: - 'manifests/helm/**' @@ -94,9 +98,18 @@ jobs: fi wc -l "$OUT_DIR/images_scan.tsv" - - name: 스캔 대상 결정 (스케줄/수동=전체) + - name: 스캔 대상 결정 (스케줄/수동=전체 또는 지정 차트) if: github.event_name != 'pull_request' - run: cp "$OUT_DIR/images_final.tsv" "$OUT_DIR/images_scan.tsv" + env: + CHART: ${{ github.event.inputs.chart }} + run: | + if [ -n "$CHART" ]; then + awk -F'\t' -v c="$CHART" '$1 == c' "$OUT_DIR/images_final.tsv" > "$OUT_DIR/images_scan.tsv" + echo "차트 필터: $CHART" + else + cp "$OUT_DIR/images_final.tsv" "$OUT_DIR/images_scan.tsv" + fi + wc -l "$OUT_DIR/images_scan.tsv" - name: SBOM 생성 (CycloneDX) env: