#!/bin/bash # 검증 스크립트 - Reviewer 역할 검증 자동화 # 프로젝트: runtime-role-matrix-live-20260714111146-v10 set -e echo "==========================================" echo "Reviewer 검증 스크립트" echo "프로젝트: runtime-role-matrix-live-20260714111146-v10" echo "==========================================" echo "" # 1. 변경 파일 확인 echo "[1/5] 변경 파일 확인..." if [ -d ".git" ]; then git diff --name-only HEAD~1 2>/dev/null || echo "Git 히스토리 없음" else echo "Git 저장소가 아닙니다." fi echo "" # 2. 테스트 실행 echo "[2/5] 테스트 실행..." if [ -f "pom.xml" ]; then echo "Maven 프로젝트 감지됨" mvn test -q 2>&1 | tail -20 || echo "테스트 실패 또는 Maven 없음" elif [ -f "package.json" ]; then echo "Node.js 프로젝트 감지됨" npm test 2>&1 | tail -20 || echo "테스트 실패 또는 npm 없음" else echo "테스트 프레임워크 감지 불가" fi echo "" # 3. CI 설정 확인 echo "[3/5] CI 설정 확인..." if [ -d ".github/workflows" ]; then echo "GitHub Actions 설정 있음" ls -la .github/workflows/ elif [ -f "Jenkinsfile" ]; then echo "Jenkins 설정 있음" elif [ -f ".gitlab-ci.yml" ]; then echo "GitLab CI 설정 있음" else echo "CI 설정 파일 없음" fi echo "" # 4. 보안 스캔 echo "[4/5] 보안 스캔..." if [ -f "pom.xml" ]; then mvn dependency-check:check -q 2>&1 | tail -10 || echo "OWASP Dependency Check 없음" elif [ -f "package.json" ]; then npm audit 2>&1 | tail -10 || echo "npm audit 실패" else echo "보안 스캔 도구 감지 불가" fi echo "" # 5. 코드 품질 체크 echo "[5/5] 코드 품질 체크..." if [ -f "pom.xml" ]; then mvn spotbugs:check -q 2>&1 | tail -10 || echo "SpotBugs 없음" elif [ -f "package.json" ]; then npx eslint . 2>&1 | tail -10 || echo "ESLint 없음" else echo "정적 분석 도구 감지 불가" fi echo "" echo "==========================================" echo "검증 완료" echo "==========================================" echo "" echo "상세 보고서 확인:" echo " - docs/review/VERIFICATION_CHECKLIST.md" echo " - docs/review/EVIDENCE_REPORT.md" echo " - docs/review/REVIEW_SUMMARY.json"