从构建失败到可审查补丁:Salsa CI 自动修复实践

Speaker: Pan Zhang

Type: Short talk (20 minutes)

Room: Main room

Time: Oct 24 (Sat): 11:30

Duration: 0:20

处理多个 Debian 软件包的构建失败时,除了读日志和准备补丁,还要跟踪任务进度、核对验证结果,并在中断后继续已有工作。这次演讲分享一套自动修复调度器接入 Salsa CI 的实践,说明怎样把这些工作组织成维护者可以回查的流程。 我会以一个构建失败任务为例,讲清批量修复中的完整处理流程:从失败日志和源包出发,检查构建条件,尝试复现原错误,借助 AI 分析根因并准备最小补丁;完成静态检查后,推送候选分支,由 Salsa CI 验证对应提交能否完成 Debian 软件包构建,再通过 Draft Merge Request(草稿合并请求)交给维护者审查。调度器用独立任务记录保存进度,将修复执行与构建状态查询分开,按结果有限重试或停止。演讲还会说明中断后如何接续,以及发布候选分支或 MR 后怎样核对实际状态,避免从头重做或盲目重复发布。 演讲主要面向 Debian 软件包维护者和 Salsa CI 使用者,也适合希望参与 Debian 软件包维护的贡献者。听众可以把任务记录、分阶段验证和异常接续的方法用于自己的维护流程,工作流不绑定特定模型或产品。构建条件只记录能够取得的信息;无法满足构建验证条件时暂停并报告缺口,未复现原错误就不宣称补丁修复了它。需要人工判断的修改交给维护者,补丁审阅、合并和 Debian 上传仍由维护者负责。