fix(ci): push 路径检测改用 compare 响应内每提交 files 聚合 #1539
Reference in New Issue
Block a user
Delete Branch "ci/fix-push-paths-compare"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
#1536 合并后首次 develop push(run 41477)中,
check-push-paths日志显示:路径过滤形同虚设,小改动仍会全量构建。
根因
Gitea 1.26.4 的 compare API(
GET /repos/{repo}/compare/{base}...{head}):files字段始终返回空数组,merge_base为null(验证过多组区间,包括 8 个提交的真实变更,均为 0 files)commits[].files字段完整可用修复
scripts/ci/ci_push_paths.sh:不再读顶层d.files,改为聚合d.commits[].files的文件并集。本地用三组真实区间 dry-run 验证:
无网络额外请求、无分页风险(单次 compare 调用即包含全部 commit 的 files)。
🚀 预览环境已部署
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #1539 已关闭或合并,对应的预览环境已被清理。