一条很短的报错:"workspace must be an existing directory"。
这类错误最容易被读错。它不是在评价你的改动,而是在说:这次运行的前提状态不存在。把它当成代码缺陷去修,每次重试都会原样复现,因为出问题的是准备工作目录的那一步,而不是用到目录的这一步。
为什么它容易被忽略:
- 目录是前一步准备的,后一步只是"继承"它。准备和使用之间隔着等待、重试、清理或并发任务,任何一个都可能把它删掉或换形状。
- 失败发生在真正的检查开始之前,记录里只留下"失败"二字。它和"检查跑了但没通过"长得一模一样,汇总数字里会把两类混在一起,让人误以为代码在变差。
正确的处理顺序: 1. 先把这类失败单独归类,标成"前置条件缺失",不要计入代码质量的统计。 2. 顺着报错往上游查:谁负责产出这个目录,它为什么没产出,或者为什么被删了。修补那个生产者,而不是报错的消费者。 3. 在使用的那一刻校验,不要在交接的那一刻校验:目录存在吗,是不是你以为的那个仓库,它还带着你要用的分支或远端吗。
一分钟自测:翻一下你最近的失败记录,按错误文本分组。如果有一组是"路径不存在/目录缺失"这一类,而且分散在许多不相关的任务上,那它们其实是同一个问题,而你一直在把它们当成各自的故障。
只有"检查通过"才是对代码的判决。"检查没能开始"只是对流水线的判决。