From eeabeb480a73434c6cdb4033ffd5d4756aeec971 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Fri, 17 Jul 2026 15:35:41 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20auto-approve=E4=BD=BF=E7=94=A8PR=20h?= =?UTF-8?q?ead=20SHA=E8=80=8C=E9=9D=9Emerge=20SHA=E6=A3=80=E6=9F=A5CI?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pull_request事件中GITHUB_SHA是merge commit的虚拟SHA,CI实际运行的是head SHA。 用merge SHA查status永远查不到,导致auto-approve一直看到pending,20分钟超时后退出, 永远打不了审批。改用github.event.pull_request.head.sha查询。 --- .gitea/workflows/auto-approve.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/auto-approve.yml b/.gitea/workflows/auto-approve.yml index a59430f87..f8bfafa8d 100644 --- a/.gitea/workflows/auto-approve.yml +++ b/.gitea/workflows/auto-approve.yml @@ -20,6 +20,7 @@ jobs: GITHUB_TOKEN: ${{ github.token }} REVIEW_TOKEN: ${{ secrets.REVIEW_GITEA_TOKEN }} PR_NUMBER: ${{ github.event.pull_request.number }} + PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }} run: | set -eu @@ -79,7 +80,7 @@ jobs: # 调用辅助脚本检查每个context状态 for ctx in "${CONTEXTS[@]}"; do - STATE=$(python3 scripts/check_ci_status.py "$GITHUB_TOKEN" "$GITHUB_REPOSITORY" "$GITHUB_SHA" "$ctx") + STATE=$(python3 scripts/check_ci_status.py "$GITHUB_TOKEN" "$GITHUB_REPOSITORY" "$PR_HEAD_SHA" "$ctx") echo " $ctx: $STATE" if [ "$STATE" != "success" ]; then