fix(ci): 修复auto-merge脚本孤悬fi导致所有PR自动合并失败 #740

Merged
xiaoxia merged 1 commits from fix/ci-auto-merge-dangling-fi into develop 2026-07-22 20:25:34 +08:00
Owner

问题

所有PR的 Auto Merge on CI Green + Approved job 全部失败,错误为 bash 语法错误:workflow/1.sh 第71行 意外的fi令牌

根因

.gitea/workflows/pr-automation.yml 的 auto-merge job 中,之前移除审批检查逻辑时,if 语句删了但对应的 fi 没删干净,留下一个孤悬的 fi

            done  # for ctx 循环结束

          # 分支保护required_approvals=0,无需审批检查,直接检查CI状态即可
            fi   # ← 这个fi是孤悬的!上面没有对应的if

            # CI全绿 → 合并
            if [ "$ALL_SUCCESS" = "true" ]; then

修复

删除残留的注释行和孤悬的 fi,共2行。

影响

修复后所有Open PR的auto-merge功能恢复正常,CI全绿后能自动合并。

## 问题 所有PR的 `Auto Merge on CI Green + Approved` job 全部失败,错误为 bash 语法错误:`workflow/1.sh 第71行 意外的fi令牌`。 ## 根因 `.gitea/workflows/pr-automation.yml` 的 auto-merge job 中,之前移除审批检查逻辑时,`if` 语句删了但对应的 `fi` 没删干净,留下一个孤悬的 `fi`: ```bash done # for ctx 循环结束 # 分支保护required_approvals=0,无需审批检查,直接检查CI状态即可 fi # ← 这个fi是孤悬的!上面没有对应的if # CI全绿 → 合并 if [ "$ALL_SUCCESS" = "true" ]; then ``` ## 修复 删除残留的注释行和孤悬的 `fi`,共2行。 ## 影响 修复后所有Open PR的auto-merge功能恢复正常,CI全绿后能自动合并。
xiaoxia added 1 commit 2026-07-22 20:04:56 +08:00
fix(ci): 修复auto-merge脚本孤悬fi导致的bash语法错误\n\n删除pr-automation.yml中auto-merge job里残留的多余fi语句,\n该fi是之前移除审批检查逻辑时未清理干净的,导致所有PR\n的auto-merge job在workflow/1.sh第71行报语法错误。
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 51s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 29s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 28s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 29s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 41s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 35s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 2m15s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m39s
AI Code Review / AI Code Review (pull_request) Successful in 3m33s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 2m50s
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Successful in 3m8s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m58s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 7m36s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 17m4s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 40s
756c9d1abe

🚀 预览环境已部署

项目 详情
PR号 #740
预览链接 https://pr-740.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #740 | | 预览链接 | [https://pr-740.preview.xiaoxiajianji.com](https://pr-740.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot approved these changes 2026-07-22 20:10:00 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-07-22 20:10:01 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
Collaborator

📊 审查概览

  • 整体评价:需修改
  • 严重问题数量:1 个
  • 一般建议数量:0 个

需修改的问题(严重)

  1. [.gitea/workflows/pr-automation.yml: 283行] Shell脚本语法错误:if语句未闭合
    • 问题描述:Diff 显示删除了 fi 关键字,但未显示删除对应的 if 语句。在 Bash 脚本中,if 必须与 fi 成对出现。单独删除 fi 会导致脚本结构破坏,产生 "syntax error: unexpected end of file" 或类似错误,导致 CI/CD 工作流直接运行失败。
    • 修改建议:请检查该 fi 对应的逻辑块。如果目的是移除“审批检查”的逻辑,请同时删除对应的 if 条件行;如果只是误操作,请恢复 fi 以确保代码块闭合。

💡 改进建议(一般)

良好实践


🤖 由 AI 代码审查机器人自动生成 | 2026-07-22 20:10:54 | 模型:

### 📊 审查概览 - 整体评价:需修改 - 严重问题数量:1 个 - 一般建议数量:0 个 ### ❌ 需修改的问题(严重) 1. **[.gitea/workflows/pr-automation.yml: 283行] Shell脚本语法错误:if语句未闭合** - 问题描述:Diff 显示删除了 `fi` 关键字,但未显示删除对应的 `if` 语句。在 Bash 脚本中,`if` 必须与 `fi` 成对出现。单独删除 `fi` 会导致脚本结构破坏,产生 "syntax error: unexpected end of file" 或类似错误,导致 CI/CD 工作流直接运行失败。 - 修改建议:请检查该 `fi` 对应的逻辑块。如果目的是移除“审批检查”的逻辑,请同时删除对应的 `if` 条件行;如果只是误操作,请恢复 `fi` 以确保代码块闭合。 ### 💡 改进建议(一般) 无 ### ✅ 良好实践 无 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-22 20:10:54 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit f5d8a32229 into develop 2026-07-22 20:25:34 +08:00
xiaoxia deleted branch fix/ci-auto-merge-dangling-fi 2026-07-22 20:25:35 +08:00

🗑️ 预览环境已清理

PR #740 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #740 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.