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 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: | 你是代码审核助手,我需要你审核代码后以JSON形式输出通过(passed)或者不通过(no-passed),只输出json不添加其他说明。 只判断代码是否存在变量拼写错误,并且在issues输出行数、出错语句及原因; 忽略其他错误,包括代码安全、SQL 语句内的错误、函数未定义错误、PHP内置函数错误; 如果代码中出现未定义的变量错误、未定义的方法错误、或其他逻辑错误,在suggestion输出你的建议,但这部分不作为passed与否的判定; 最终输出一定遵守以下JSON格式,不允许出现其他格式: { "status": "no-passed", "issues": [ { "line": 105, "reason": "变量命名xxx不符合规范" } ], "suggestion":"代码建议1:xxxxx" } 如果没有发现相关问题,请一定输出以下JSON格式: {"status": "passed"} run: | PR_NUMBER=$PULLS_ID OWNER="hui" REPO="SCTMES_V5" SERVER_URL="http://119.91.43.128:3003" COMMENT="🧪 单元测试已完成。\n- 状态: 成YYYYY功 ✅\n- Commit ID: $(git rev-parse HEAD)\n- 查看日志: [Actions](https://your-ci-link-here)" API_URL="$SERVER_URL/api/v1/repos/$OWNER/$REPO/issues/$PR_NUMBER/comments" curl -X POST \ -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ -d "{\"body\": \"$COMMENT\"}" \ "$API_URL" cd /workspace ./audit_code.sh