x/build/cmd/relui:在发布标记期间,除了VERSION文件之外,整个树状态都会被检查;go1.19.13在更新VERSION文件之前就已经被标记了,

k7fdbhmy  于 3个月前  发布在  Go
关注(0)|答案(2)|浏览(35)

对于一次性发布的Go 1.19.13版本,它在提交版本CL之前被标记。它的标签是caca5f1,但应该是619b8fd
我们将手动将标签移动到正确的提交。
同时,我们还会提交一个问题来调查relui中可能导致此问题的任何逻辑错误。

cqoc49vn

cqoc49vn2#

相关的relui逻辑如下:

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文件。)

相关问题