Reviewer 역할 검증 보고서 smoke (role-reviewer-live-1522-001)
All checks were successful
ci / test (pull_request) Successful in 5s
All checks were successful
ci / test (pull_request) Successful in 5s
This commit is contained in:
parent
cc31267e37
commit
ee9177d7ff
1 changed files with 110 additions and 0 deletions
110
verification/generate-evidence.sh
Normal file
110
verification/generate-evidence.sh
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
#!/bin/bash
|
||||
# 증적 보고서 생성 스크립트
|
||||
# smoke-test.sh 실행 후 이 스크립트를 실행하여 최종 증적 보고서를 생성합니다
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
||||
|
||||
echo "=========================================="
|
||||
echo "증적 보고서 생성"
|
||||
echo "=========================================="
|
||||
|
||||
# smoke-test-report.json이 있는지 확인
|
||||
if [ ! -f "$SCRIPT_DIR/smoke-test-report.json" ]; then
|
||||
echo "오류: smoke-test-report.json을 찾을 수 없습니다."
|
||||
echo "먼저 ./verification/smoke-test.sh를 실행해주세요."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 변경 파일 목록
|
||||
echo ""
|
||||
echo "1. 변경 파일 수집..."
|
||||
if [ -f "$SCRIPT_DIR/changed-files.txt" ]; then
|
||||
CHANGED_FILES=$(cat "$SCRIPT_DIR/changed-files.txt" | tr '\n' ',' | sed 's/,$//')
|
||||
else
|
||||
CHANGED_FILES=""
|
||||
fi
|
||||
|
||||
# Git 정보 수집
|
||||
echo "2. Git 정보 수집..."
|
||||
cd "$PROJECT_ROOT"
|
||||
GIT_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
|
||||
GIT_COMMIT=$(git rev-parse HEAD 2>/dev/null || echo "unknown")
|
||||
GIT_COMMIT_MSG=$(git log -1 --pretty=%B 2>/dev/null | head -1 || echo "unknown")
|
||||
|
||||
# 빌드 정보 수집
|
||||
echo "3. 빌드 정보 수집..."
|
||||
if [ -f "$PROJECT_ROOT/pom.xml" ]; then
|
||||
BUILD_TOOL="maven"
|
||||
PROJECT_VERSION=$(grep -A1 '<artifactId>' "$PROJECT_ROOT/pom.xml" | grep -A1 'runtime-role-matrix' | grep '<version>' | sed 's/.*<version>//' | sed 's/<\/version>//' | head -1)
|
||||
elif [ -f "$PROJECT_ROOT/build.gradle" ]; then
|
||||
BUILD_TOOL="gradle"
|
||||
PROJECT_VERSION=$(grep 'version' "$PROJECT_ROOT/build.gradle" | head -1 | sed 's/.*version.*//' | tr -d "'\" " || echo "unknown")
|
||||
else
|
||||
BUILD_TOOL="unknown"
|
||||
PROJECT_VERSION="unknown"
|
||||
fi
|
||||
|
||||
# 테스트 결과 수집
|
||||
echo "4. 테스트 결과 수집..."
|
||||
UNIT_TEST_RESULT=$(cat "$SCRIPT_DIR/smoke-test-report.json" | grep -A1 'unit_tests' | grep 'status' | cut -d'"' -f4)
|
||||
COMPILATION_RESULT=$(cat "$SCRIPT_DIR/smoke-test-report.json" | grep -A1 'compilation' | grep 'status' | cut -d'"' -f4)
|
||||
|
||||
# 최종 증적 보고서 생성
|
||||
echo "5. 증적 보고서 생성..."
|
||||
|
||||
cat > "$SCRIPT_DIR/final-evidence-report.json" << EOF
|
||||
{
|
||||
"evidence_report": {
|
||||
"report_id": "RRL-$(date +%Y%m%d)-$(date +%H%M%S)",
|
||||
"project_name": "runtime-role-matrix-live",
|
||||
"project_version": "${PROJECT_VERSION:-unknown}",
|
||||
"build_tool": "${BUILD_TOOL}",
|
||||
"generated_at": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")",
|
||||
"reviewer": "검증 담당자",
|
||||
"review_type": "smoke_test"
|
||||
},
|
||||
"git_information": {
|
||||
"branch": "${GIT_BRANCH}",
|
||||
"commit_hash": "${GIT_COMMIT}",
|
||||
"commit_message": "${GIT_COMMIT_MSG}"
|
||||
},
|
||||
"changed_files": {
|
||||
"count": $(echo "$CHANGED_FILES" | tr ',' '\n' | grep -c . 2>/dev/null || echo 0),
|
||||
"files": [$(echo "$CHANGED_FILES" | sed "s/,/","/g" | sed "s/^/\"/;s/$/\"/")]
|
||||
},
|
||||
"verification_results": {
|
||||
"compilation": "${COMPILATION_RESULT:-unknown}",
|
||||
"unit_tests": "${UNIT_TEST_RESULT:-unknown}",
|
||||
"smoke_test_summary": $(cat "$SCRIPT_DIR/smoke-test-report.json" | grep -A6 '"summary"')
|
||||
},
|
||||
"operational_risk_assessment": {
|
||||
"deployment_risk": "medium",
|
||||
"monitoring_risk": "low",
|
||||
"data_risk": "medium",
|
||||
"security_risk": "low",
|
||||
"overall_risk": "medium"
|
||||
},
|
||||
"approval": {
|
||||
"status": "pending",
|
||||
"approved_by": null,
|
||||
"approved_at": null,
|
||||
"comments": null
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "증적 보고서 생성 완료"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "생성된 파일:"
|
||||
echo " - $SCRIPT_DIR/smoke-test-report.json"
|
||||
echo " - $SCRIPT_DIR/final-evidence-report.json"
|
||||
echo " - $SCRIPT_DIR/changed-files.txt"
|
||||
echo ""
|
||||
echo "최종 증적 보고서 내용:"
|
||||
cat "$SCRIPT_DIR/final-evidence-report.json"
|
||||
Loading…
Add table
Add a link
Reference in a new issue