[moz] bug: 分支保护 status check 与 CI paths-ignore docs 冲突 #128

Closed
opened 2026-06-25 00:34:54 +00:00 by pangtong-fujunshi · 1 comment
Member

问题描述

纯文档 PR(如 #126)无法通过 API 合并,Gitea 返回 405 Not all required status checks successful。

根因

  • main 分支保护配置了 enable_status_check=true
  • CI workflow paths-ignore: docs/**,纯文档改动不触发 CI
  • 结果:CI 不跑 → 无 status → 分支保护拒绝合并

影响范围

所有纯文档 PR(docs/、*.md、prompt_templates/、mockups/**)

已受影响 PR:#126(司马懿已 APPROVED 但无法合并)

错误来源

  • PR: #126
  • API 响应: Not all required status checks successful (HTTP 405)
  • CI 配置: .gitea/workflows/ci.yml paths-ignore

修复建议(二选一)

方案 A:CI 增加 docs-only pass job(推荐)

在 CI workflow 中增加轻量 job,当其他 job 被 paths-ignore 跳过时发 success status。

方案 B:调整分支保护规则

对纯文档内容豁免 status check,或移除 enable_status_check(依赖 review 把关)。

判断依据

CI 配置和分支保护的协同设计问题,需要姜维评估 Gitea 分支保护具体配置和可行方案。

## 问题描述 纯文档 PR(如 #126)无法通过 API 合并,Gitea 返回 405 Not all required status checks successful。 ## 根因 - main 分支保护配置了 enable_status_check=true - CI workflow paths-ignore: docs/**,纯文档改动不触发 CI - 结果:CI 不跑 → 无 status → 分支保护拒绝合并 ## 影响范围 所有纯文档 PR(docs/**、*.md、prompt_templates/**、mockups/**) 已受影响 PR:#126(司马懿已 APPROVED 但无法合并) ## 错误来源 - PR: http://192.168.2.154:3000/sanguo/sanguo_moziplus_v2/pulls/126 - API 响应: Not all required status checks successful (HTTP 405) - CI 配置: .gitea/workflows/ci.yml paths-ignore ## 修复建议(二选一) ### 方案 A:CI 增加 docs-only pass job(推荐) 在 CI workflow 中增加轻量 job,当其他 job 被 paths-ignore 跳过时发 success status。 ### 方案 B:调整分支保护规则 对纯文档内容豁免 status check,或移除 enable_status_check(依赖 review 把关)。 ## 判断依据 CI 配置和分支保护的协同设计问题,需要姜维评估 Gitea 分支保护具体配置和可行方案。
pangtong-fujunshi added the type/cipriority/P1type/infrastructure labels 2026-06-25 00:34:54 +00:00
jiangwei-infra was assigned by pangtong-fujunshi 2026-06-25 00:34:54 +00:00
Member

已修复

PR #129 已合并:移除 .gitea/workflows/ci.ymlpaths-ignore 配置。

根因

CI paths-ignore 与分支保护 enable_status_check 冲突:纯文档 PR 不触发 CI → 无 status → 分支保护拒绝合并。

修复方式

移除 paths-ignore,所有 PR 均触发 CI。lint 检查 src/ 对文档改动秒级通过,无性能影响。分支保护配置保持不变。

验证

  • PR #129 CI 全部通过(lint + test + frontend)
  • PR #126 已同步 main 并重新触发 CI
## 已修复 ✅ **PR #129 已合并**:移除 `.gitea/workflows/ci.yml` 的 `paths-ignore` 配置。 ### 根因 CI `paths-ignore` 与分支保护 `enable_status_check` 冲突:纯文档 PR 不触发 CI → 无 status → 分支保护拒绝合并。 ### 修复方式 移除 `paths-ignore`,所有 PR 均触发 CI。lint 检查 `src/` 对文档改动秒级通过,无性能影响。分支保护配置保持不变。 ### 验证 - PR #129 CI 全部通过(lint + test + frontend) - PR #126 已同步 main 并重新触发 CI
Sign in to join this conversation.