合并¶
本页解释了设置测试预期值的正确方法,并强调了 safe-merge-queue
、merge-queue
和 unsafe-merge-queue
之间的区别。此外,还有一个部分会提供关于如何编辑现有拉取请求以及如何干净地重新提交的提示。
测试维护¶
由于直接提交访问权限仅限于仓库管理员,这将改变之前的测试维护/设置测试预期值的工作流程。因此,新流程概述如下:
-
从一个干净的、最新的检出中,使用
Tools/Scripts/git-webkit branch
创建一个新分支。它会要求你提供错误 URL 或仅一个标题。如果提供错误 URL,分支标题将与你的错误标题相同。如果你愿意,也可以手动命名。 -
标记你的预期值/进行更改,然后执行
git add .
和git commit
。此操作不再需要变更日志,但你仍需要添加提交信息。 -
你的提交信息必须包含“Unreviewed”一词,才能成功提交你的拉取请求。通常建议你对任何设置测试预期值的提交使用
Unreviewed test gardening.
,而不是reviewed by nobody. (OOPS)
。
你的提交信息示例模板如下:
-
添加预期值和提交信息后,你可以通过运行
Tools/Scripts/git-webkit pr
来提交你的拉取请求。你的拉取请求将被创建并提交到 WebKit 拉取请求。终端输出中将直接包含你的拉取请求链接。 -
使用提供的链接访问你的拉取请求。然后在页面右侧的
labels
标签下,添加unsafe-merge-queue
,示例如下: -
添加
unsafe-merge-queue
标签后,你的拉取请求将尝试提交。这应该需要 1-3 分钟,并且如果你按照上述步骤操作,应该会顺利提交。如果你的拉取请求存在问题,提交将失败并报错。
安全合并队列¶
Safe-Merge-Queue
是一种很好的方式,可以验证所有构建和测试是否成功,并无需人工干预地合并拉取请求。Safe-Merge-Queue
每 15 分钟检查一次带有该标签的拉取请求状态。一旦所有 EWS 测试通过,Safe-Merge-Queue
将自动为你合并你的拉取请求。
合并队列¶
Merge-Queue
与 Tools/Scripts/git-webkit land
结合使用。当拉取请求通过合并队列时,它会进行构建和测试。将你的拉取请求推送到 WebKit 拉取请求后,如果你手动添加 Merge-Queue
标签,EWS 将判断你的提交是否存在任何样式问题,以及你的提交是否能在 macOS 上构建并通过 WK2 布局测试。如果你希望你的拉取请求在合并前通过这些测试,则应使用 Merge-Queue
。测试完成后,如果评审者批准了你的拉取请求,Merge-Queue
将自动为你合并你的拉取请求。
不安全合并队列¶
使用 Unsafe-Merge-Queue
时,将对你的拉取请求运行样式检查,然后尝试在不构建或测试的情况下提交拉取请求。只要没有样式或格式问题,Unsafe-Merge-Queue
将在大约 1-3 分钟内提交你的更改。Unsafe-Merge-Queue
只应用于非常简单、基本且不太可能造成严重破坏的更改,或者用于设置测试预期值。