From e52a3ffe0bc84fe91657ab934983ccd570eb44d7 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Tue, 14 Jul 2026 08:31:58 +0000 Subject: [PATCH] =?UTF-8?q?Reviewer=20=EC=97=AD=ED=95=A0=20=EA=B2=80?= =?UTF-8?q?=EC=A6=9D=20=EB=B3=B4=EA=B3=A0=EC=84=9C=20smoke=20(role-reviewe?= =?UTF-8?q?r-live-v3-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/validate.sh | 90 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 scripts/validate.sh diff --git a/scripts/validate.sh b/scripts/validate.sh new file mode 100644 index 0000000..1ffac30 --- /dev/null +++ b/scripts/validate.sh @@ -0,0 +1,90 @@ +#!/bin/bash +# 검증 스크립트 - 독립적 검증 실행 + +set -e + +echo "==========================================" +echo " 검증 체크리스트 실행" +echo "==========================================" +echo "" + +# 색상 정의 +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# 함수 정의 +pass() { echo -e "${GREEN}✓ PASS${NC}: $1"; } +fail() { echo -e "${RED}✗ FAIL${NC}: $1"; exit 1; } +warn() { echo -e "${YELLOW}⚠ WARN${NC}: $1"; } + +# 1. 변경 파일 검증 +echo "[1/5] 변경 파일 검증..." +if git diff --name-only HEAD~1 > /dev/null 2>&1; then + CHANGED_FILES=$(git diff --name-only HEAD~1 | wc -l) + echo " 변경된 파일 수: $CHANGED_FILES" + pass "변경 파일 확인 완료" +else + warn "git 히스토리가 없습니다. 초기 커밋으로 간주합니다." +fi +echo "" + +# 2. 테스트 검증 +echo "[2/5] 테스트 검증..." +if command -v mvn &> /dev/null; then + echo " Maven 테스트 실행 중..." + if mvn test -q 2>&1 | tail -5; then + pass "테스트 실행 완료" + else + fail "테스트 실패" + fi +else + warn "Maven이 설치되어 있지 않습니다." +fi +echo "" + +# 3. 빌드 검증 +echo "[3/5] 빌드 검증..." +if command -v mvn &> /dev/null; then + echo " Maven 빌드 실행 중..." + if mvn clean package -DskipTests -q 2>&1 | tail -3; then + pass "빌드 완료" + else + fail "빌드 실패" + fi +else + warn "Maven이 설치되어 있지 않습니다." +fi +echo "" + +# 4. CI 파일 검증 +echo "[4/5] CI/CD 검증..." +if [ -d ".github/workflows" ]; then + WORKFLOW_COUNT=$(find .github/workflows -name "*.yml" -o -name "*.yaml" | wc -l) + echo " Workflow 파일 수: $WORKFLOW_COUNT" + pass "CI/CD 설정 확인 완료" +else + warn "GitHub Actions 워크플로우가 없습니다." +fi +echo "" + +# 5. 보안 검증 +echo "[5/5] 보안 검증..." +if [ -f "pom.xml" ]; then + if grep -q "dependency-check-maven" pom.xml; then + echo " OWASP Dependency Check 설정됨" + fi + pass "보안 설정 확인 완료" +else + warn "pom.xml이 없습니다." +fi +echo "" + +echo "==========================================" +echo " 검증 완료" +echo "==========================================" +echo "" +echo "상세 보고서 확인:" +echo " - docs/review/VALIDATION_CHECKLIST.md" +echo " - docs/review/EVIDENCE_REPORT.md"