publishingHead := wf.Task4(wd, "Check branch state matches source archive", build.checkSourceMatch, distpackVal, branchVal, versionFile, source, wf.After(okayToTagAndPublish))
versionCL := wf.Task4(wd, "Mail version CL", version.CreateAutoSubmitVersionCL, branchVal, nextVersion, coordinators, versionFile, wf.After(publishingHead))
tagCommit = wf.Task2(wd, "Wait for version CL submission", version.AwaitCL, versionCL, publishingHead)
( source ) 发布头是在VERSION文件之前的提交。它的树内容是正确的内容,但VERSION文件尚未更新。 然后 "Mail version CL" 尝试发送并等待一个CL落地。 如果这个任务导致没有CL被发送(例如,因为发布分支的顶部已经将VERSION文件更新为其预期的内容),那么AwaitCL将返回publishingHead as is 。 它应该确保publishingHead提交包含预期的VERSION文件内容,如果没有,则重新读取分支头部并查看其(或其父级之一)是否如此。否则,直到发布分支的顶部得到纠正,它是正确的失败。 (很高兴的是,预期标记提交和实际标记提交之间的最大偏差可能只是VERSION文件,而不是其他文件。在修复此问题后,还将验证并要求与确切匹配的VERSION文件。)
2条答案
按热度按时间bprjcwpo1#
标签已更新。https://go.googlesource.com/go/+/refs/tags/go1.19.13现在指向正确的提交。
cqoc49vn2#
相关的relui逻辑如下:
( source )
发布头是在VERSION文件之前的提交。它的树内容是正确的内容,但VERSION文件尚未更新。
然后 "Mail version CL" 尝试发送并等待一个CL落地。
如果这个任务导致没有CL被发送(例如,因为发布分支的顶部已经将VERSION文件更新为其预期的内容),那么AwaitCL将返回publishingHead as is 。
它应该确保publishingHead提交包含预期的VERSION文件内容,如果没有,则重新读取分支头部并查看其(或其父级之一)是否如此。否则,直到发布分支的顶部得到纠正,它是正确的失败。
(很高兴的是,预期标记提交和实际标记提交之间的最大偏差可能只是VERSION文件,而不是其他文件。在修复此问题后,还将验证并要求与确切匹配的VERSION文件。)