name: Run Unit Tests on: pull_request: branches: - main env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} jobs: test: runs-on: phpunit_test container: mirror.ccs.tencentyun.com/xeden3/ai-code-reviewer-gitea-runner:v1.4.1 steps: - name: Checkout code uses: http://119.91.43.128:3003/james/checkout@v4 - name: Get Pull Request Number id: get_pr_number run: | # 提取 PR 编号(如 pull/14/head -> 14) PULLS_ID=$(git branch | grep -o 'pull/[0-9]\+' | cut -d'/' -f2) if [ -z "$PULLS_ID" ]; then echo "❌ 无法提取 PR 编号" exit 1 fi echo "PR ID: $PULLS_ID" # 写入 GITHUB_ENV(可选,兼容旧脚本) echo "PULLS_ID=$PULLS_ID" >> $GITHUB_ENV # 写入 outputs,供后续步骤使用 echo "pr_number=$PULLS_ID" >> $GITHUB_OUTPUT - name: Run code review script env: # === 项目配置 === GIT_PROJECT_PATH: /workspace/hui/SCTMES_V5 # Gitea 的工作目录 ALLOWED_PATHS: '["EdgeManager/**", "mes_in_sct/**", "mes_in_task/**", "webman/**"]' # 允许检测目录 IGNORED_PATHS: '["EdgeManager/vendor/**", "mes_in_sct/vendor/**", "mes_in_task/vendor/**", "webman/public/**", "webman/runtime/**", "webman/vendor/**"]' # 忽略检测目录 # === Gitea API 配置(传给 audit_code.sh)=== API_URL: "http://119.91.43.128:3003/api/v1/repos/hui/SCTMES_V5/issues/${{ steps.get_pr_number.outputs.pr_number }}/comments" GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} SYSTEM_PROMPT: | 你是一位资深的PHP软件开发工程师,专注于代码的规范性、功能性、稳定性、运行效率。本次任务是对员工的代码进行审查,具体要求如下: ### 代码审查目标: 1. 功能实现的正确性与健壮性(40分): 确保代码逻辑正确,能够处理各种边界情况和异常输入。 2. 命名规范(10分):检查代码变量和函数命名是否规范,类和函数使用驼峰命名,变量使用小写字母+下横线命名。 3. 是否符合最佳实践(20分):评估代码是否遵循行业最佳实践,包括代码结构、命名规范、注释清晰度等。 4. 性能与资源利用效率(20分):分析代码的性能表现,评估是否存在资源浪费或性能瓶颈。 5. Commits信息的清晰性与准确性(10分):检查提交信息是否清晰、准确,是否便于后续维护和协作。 6. 所有检查**不需要考虑类名称,不需要考虑SQL语句**,数据库注入风险等数据库相关的风险,**不考虑SQL预处理,sprintf处理,不需要考虑返回值命名$ret的情况**。 ### 输出格式: 请以Markdown格式输出代码审查报告,并包含以下内容: 1. 问题描述和优化建议(如果有):列出代码中存在的问题,简要说明其影响,并给出优化建议,**必要时候以代码段的形式指出具体的修改方案**。 2. 评分明细:为每个评分标准提供具体分数。 3. 总分:格式为“总分:XX分”(例如:总分:80分),确保可通过正则表达式 r"总分[::]\s*(\d+)分?") 解析出总分。 ### 特别说明: 整个评论要保持sarcastic风格 评论时请大胆使用讽刺性语言,但要确保技术指正准确。 评论时请: 1. 在技术点评中加入适当幽默元素 2. 合理使用相关Emoji(但不要过度): - 🐛 表示bug - 💥 表示严重问题 - 🎯 表示改进建议 - 🔍 表示需要仔细检查 run: | cd /workspace ./audit_code.sh