Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 4 additions & 92 deletions .github/workflows/review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,7 @@ jobs:
pr_reviewer.num_code_suggestions: "4"

pr_reviewer.extra_instructions: >-
请用中文进行详细代码审查,重点关注:
1. 安全漏洞(SQL注入、XSS、CSRF、硬编码密钥、敏感信息泄露)
2. 性能问题(N+1查询、算法复杂度、内存泄漏)
3. 代码质量(命名规范、重复代码、函数复杂度)
4. 最佳实践(类型注解、错误处理、日志记录、文档)
5. 测试覆盖(单元测试、边界条件、错误场景)
请用中文进行详细代码审查

# ═══════════════════════════════════════════════════
# PR描述配置
Expand All @@ -79,14 +74,14 @@ jobs:
pr_description.publish_labels: "true"
pr_description.enable_ai_summary: "true"
pr_description.extra_instructions: >-
请用中文生成PR描述,包括:主要变更、影响范围、测试方法、风险评估
请用中文生成PR描述

# ═══════════════════════════════════════════════════
# 代码改进建议配置
# ═══════════════════════════════════════════════════
pr_code_suggestions.num_code_suggestions: "5"
pr_code_suggestions.extra_instructions: >-
请用中文提供具体改进建议,包含问题说明、修复代码、改进理由、影响评估
请用中文提供具体改进建议

- name: ✅ AI审查完成
if: success()
Expand Down Expand Up @@ -207,87 +202,4 @@ jobs:
echo "3. 构建失败"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Job 3: 审查总结 ⭐ 可选:生成综合报告
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
review_summary:
# ⭐ 等待前两个 job 完成后运行
needs: [pr_agent_job, codeql_analysis]

# ⭐ 即使某个 job 失败也运行
if: always() && github.event_name == 'pull_request'

runs-on: ubuntu-latest
name: 📊 审查总结

steps:
- name: 生成综合报告
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🎯 代码审查流程已完成"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "✅ 已完成的审查:"
echo ""
echo "┌────────────────────────────────────────────────────────┐"
echo "│ 1️⃣ PR-Agent (AI 智能审查) │"
echo "│ │"
echo "│ 🤖 技术:大语言模型 (GLM-4-Plus) │"
echo "│ 🎯 优势:理解业务逻辑、上下文推理 │"
echo "│ 📍 查看:PR 评论区 │"
echo "│ │"
echo "│ 擅长发现: │"
echo "│ • 业务逻辑错误 │"
echo "│ • 架构设计问题 │"
echo "│ • 代码可读性问题 │"
echo "│ • 最佳实践偏离 │"
echo "└────────────────────────────────────────────────────────┘"
echo ""
echo "┌────────────────────────────────────────────────────────┐"
echo "│ 2️⃣ CodeQL (深度安全扫描) │"
echo "│ │"
echo "│ 🔍 技术:语义代码分析 + 数据流追踪 │"
echo "│ 🎯 优势:精确的漏洞定位、零误报 │"
echo "│ 📍 查看:Security → Code scanning alerts │"
echo "│ │"
echo "│ 擅长发现: │"
echo "│ • SQL 注入 (CWE-89) │"
echo "│ • XSS 攻击 (CWE-79) │"
echo "│ • 路径遍历 (CWE-22) │"
echo "│ • 命令注入 (CWE-78) │"
echo "│ • 资源泄露 (CWE-772) │"
echo "└────────────────────────────────────────────────────────┘"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📖 下一步行动:"
echo ""
echo "1. 查看 PR 评论中的 AI 审查建议"
echo "2. 检查 Security 标签中的安全告警"
echo "3. 优先修复标记为 'Critical' 或 'High' 的问题"
echo "4. 推送修复后会自动重新审查"
echo ""
echo "💡 提示:两个工具互补使用,覆盖更全面!"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

- name: 检查审查状态
run: |
PR_AGENT_STATUS="${{ needs.pr_agent_job.result }}"
CODEQL_STATUS="${{ needs.codeql_analysis.result }}"

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📊 审查状态统计"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

if [ "$PR_AGENT_STATUS" == "success" ]; then
echo "✅ PR-Agent: 成功"
else
echo "❌ PR-Agent: 失败 ($PR_AGENT_STATUS)"
fi

if [ "$CODEQL_STATUS" == "success" ]; then
echo "✅ CodeQL: 成功"
else
echo "❌ CodeQL: 失败 ($CODEQL_STATUS)"
fi

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

Loading
Loading