From ac2f0228213a1b011cfb7e5cfa45e4b7e779a04e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E4=BA=91?= Date: Sun, 18 May 2025 13:06:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=89=8B=E5=8A=A8=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E6=97=B6=E5=8F=AF=E4=BB=A5=E7=9B=B4=E6=8E=A5commit=E5=88=B0?= =?UTF-8?q?=E4=B8=BB=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/jsonDataValidation.yml | 42 +++++++++++++++--------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/.github/workflows/jsonDataValidation.yml b/.github/workflows/jsonDataValidation.yml index 94cd7318..482122a0 100644 --- a/.github/workflows/jsonDataValidation.yml +++ b/.github/workflows/jsonDataValidation.yml @@ -359,27 +359,37 @@ jobs: # 使用引号包裹路径,处理特殊字符 python build/validate.py "${VALIDATE_PATH}" $([[ "${AUTO_FIX}" == "true" ]] && echo "--fix") - # 如果关联了PR,尝试提交更改 - if [ -n "$PR_NUMBER" ] && [ -n "$HEAD_REF" ] && [ -n "$(git status --porcelain)" ]; then - echo "发现修改,提交更改到PR: #$PR_NUMBER" + # 检查是否有文件被修改 + if [ -n "$(git status --porcelain)" ]; then + echo "发现修改,提交更改" git add . git commit -m "自动修复 JSON 格式和版本号 [ci skip]" - # 确定当前分支 - CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) - echo "当前分支: ${CURRENT_BRANCH}" - - if [ "$CURRENT_BRANCH" = "HEAD" ]; then - # 如果在detached HEAD状态,使用正确的方式推送 - echo "在detached HEAD状态,使用HEAD_REF推送: ${HEAD_REF}" - git push origin HEAD:${HEAD_REF} + # 如果关联了PR,尝试提交更改到PR + if [ -n "$PR_NUMBER" ] && [ -n "$HEAD_REF" ]; then + echo "提交更改到PR: #$PR_NUMBER" + + # 确定当前分支 + CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) + echo "当前分支: ${CURRENT_BRANCH}" + + if [ "$CURRENT_BRANCH" = "HEAD" ]; then + # 如果在detached HEAD状态,使用正确的方式推送 + echo "在detached HEAD状态,使用HEAD_REF推送: ${HEAD_REF}" + git push origin HEAD:${HEAD_REF} + else + # 常规推送 + echo "推送到分支: ${CURRENT_BRANCH}" + git push origin ${CURRENT_BRANCH} + fi else - # 常规推送 - echo "推送到分支: ${CURRENT_BRANCH}" - git push origin ${CURRENT_BRANCH} + # 未关联PR或无法确定分支,直接提交到main分支 + echo "未关联PR或无法确定分支,直接提交到main分支" + git fetch upstream main + git checkout upstream/main -b temp-main + git cherry-pick ORIG_HEAD + git push upstream temp-main:main fi - elif [ -n "$(git status --porcelain)" ]; then - echo "发现修改,但未关联PR或无法确定分支,跳过提交" else echo "没有文件被修改,无需提交" fi