WordPress 首席开发人员 Andrew Ozz 发布了一项提案,要求添加一种新的“gutenberg-merge”票证类型,该票证类型将正式确定 Gutenberg 贡献者在发布周期中功能冻结后提交代码的自由度。
通常,发布中的任何新功能和增强功能都需要在 Beta 1 之前提交,以便为测试做好准备。过去的情况是,在 Beta 1 之前,工单可以从“增强”更改为“任务”,这是一个罕见的例外,因为这些项目没有及时准备好进行 Beta 测试,只需要再过几天就可以提交。
奥兹说:“目的是再允许两三天,而不是一两周。” “这种例外过去很少发生,也许每年发生几次。
“然而最近这个例外已经成为标准发布工作流程的一部分。近年来,每个版本将 15 到 20 张来自古腾堡的代码更改为任务的票证变得很普遍。更改它们的原因不是要给开发人员多几天时间来完成它们。这主要是为了表示他们将在以后承诺。”
Ozz 认为,由于 Gutenberg 功能插件在包括 WordPress.com 在内的超过 300,000 个站点上使用,并且由于 60% 的用户快速更新到最新版本,因此来自 Gutenberg 的任何功能和增强功能都已经过测试。
提案评论区活跃,有不同意见。讨论中的几位参与者不同意仅仅因为插件中的功能并不意味着它们已经针对它们打算实现的目标进行了充分的测试。
核心贡献者 Fabian Kägy 说:“让我担心这是如何工作的,目前核心功能的文档级别比古腾堡合并具有更高的标准。” “一旦我们接近 beta 1 时间,文档团队就会检查在该周期中合并的所有功能,确保有可能影响用户/开发人员的任何更改的开发说明。如果缩短最后期限,这也意味着维护这一标准可能会变得更加困难。”
Kägy 还指出了插件和主题开发人员针对核心测试其扩展以确保与最新版本的兼容性所面临的挑战。
Kägy 说:“随着这种改变的工作流程,你很可能知道哪些功能将成为给定核心版本的一部分的实际时间变得更短,这使得确保与发布时的版本兼容变得更加困难。” .
核心贡献者 Peter Wilson概述了该提案的两个问题:
- 通过将 Gutenberg 视为特例,将增加主要在 WordPress-Develop 存储库中工作的人员与主要在 Gutenberg 存储库中工作的人员之间的冲突,
- 绕过编辑器的功能冻结要求违背了 Core is Gutenberg and Gutenberg is Core 的论点。
威尔逊说,古腾堡特征的延迟合并“多年来一直是冲突的根源”。
“在周期后期批量合并 Gutenberg 功能也是 主要在 Gutenberg repo 和主要在 WordPress-Develop repo 工作的人报告的一个问题,”他说。“多年来,一直提倡在周期内进行增量合并,但根据链接帖子中的评论从未实现过。”
Wilson 也不同意该提案的断言,即在 Gutenberg 存储库中开发的功能在功能插件中得到了更好的测试,因为 Beta 和 RC 阶段的目标是测试整个版本。
“使用 Gutenberg 作为插件, 用插件的版本替换核心块,在编辑器更改合并到 WordPress-Develop 之前,不会对整个版本进行测试,”Wilson 说。
“只有将 Gutenberg 合并到 WordPress-Develop 后,单元测试才会开始 在各种环境中运行测试套件的各种托管服务提供商上运行。”
WordPress 核心提交者 Joe McGill 鼓励该提案的作者详细说明将应用于为指定为新票证类型的票证提交补丁的政策和期望。
“例如,所有这些提交是否应该在 RC-1 之前完成,除非在 RC 期间发现了错误——并且只有发现的修复才会提交,或者是否有其他规则在起作用?” 麦吉尔说。“就个人而言,我仍然认为我们应该致力于在 Beta-1 里程碑之前合并任何主要新功能的代码,无论它是否正在 Gutenberg 插件中进行测试。”
提案的评论中正在进行讨论。虽然提议的更改主要影响核心贡献者、提交者和发布负责人,但它们也会影响测试人员和 WordPress 的插件和主题开发人员社区,以确保在主要版本之前的兼容性。那些对“功能冻结”期间和之后如何处理古腾堡功能有反馈的人应该参与提案的评论。