Fedora 45 将带来几项需要在真实硬件上测试的系统级变更。第一个测试日是 GNOME 51,从 8 月 17 日开始;随后还有 RPM 6.1、安装介质等测试活动。大部分测试可以用虚拟机完成,但涉及硬件的项目在真实机器上更有价值。

以下是 Fedora 45 中值得在 CI 和自动化测试之外重点验证的变更:

  • RPM 6.1:更新到 6.1,强制签名检查,DNF 仓库配置迁移到 /usr。
  • OpenSSL 4.0 —— 主版本升级,可能影响所有使用 TLS 的功能。
  • 启动与 live 介质:使用 image-builder 从头重建。这会改变镜像的生成方式,因此需要确认它们在不同硬件和虚拟化环境中仍能正常启动和安装。
  • kmscon 取代内核 VT 控制台(fbcon)成为默认。
  • Python 3.15、面向机密计算的 GRUB EFI,以及更多变更。

为什么需要社区测试

自动化测试能捕获已知场景中的回归,但无法告诉我们新的 boot.iso 是否能在你的笔记本上工作,也无法发现强制 RPM 签名检查是否破坏了团队中没人想到的工作流。我们需要有人在真实机器和真实场景中尝试。

这正是测试日的用途。针对特定变更集中几天,开发者在 Matrix 上协助调试,任何人都可以参与并执行测试用例。你不需要是 Fedora QA 专家。只要能安装 Fedora、复现问题并报告现象,你就能帮上忙。

F45 的测试计划

在 7 月 20 日的质量会议(有记录)上,我们审阅了 ChangeSet,选出最需要社区测试的变更,并创建了 Forge 上的规划工单,每个活动都有独立工单。

GNOME 51 桌面 —— 8 月 17 日至 21 日是本周期第一个测试日,正在进行中。桌面、图形、外设、核心应用。如果你现在看到这篇文章,可以直接加入。(#GNOME_51_Desktop)

I18n 测试周 —— 9 月 7 日至 13 日,涵盖输入法、区域设置、键盘布局。(#924)

RPM 6.1 —— 恢复了 NSS 用户/组查找支持,事务期间查询恢复正常,为打包者增加宏修饰符,rpmkeys 验证输出更清晰。升级看起来平滑,但 RPM 触及每个环节,值得确认没有遗漏。(#917)

安装介质 —— boot.iso 和 live 镜像,物理硬件、虚拟机。尝试在你手头的硬件上启动新镜像。安装程序是否正常?live 环境表现如何?(#918)

KDE —— 预计为 KDE 6.7。(#922)

Cockpit —— 距离上次 Cockpit 测试日已有数年。(#920)

GRUB EFI / 机密计算 —— 主要涉及特定硬件和虚拟机环境。(#919)

列表尚未最终确定。我们仍在评估 kmscon、OpenSSL 4.0、CoreOS 和 Kernel 7.2。请关注 testdays.fedoraproject.org 获取最新安排。

哪些测试最有帮助

将系统升级到最新软件包。在物理硬件上启动新的 boot.iso。测试挂起/恢复、Wi-Fi、外接显示器、NVIDIA/AMD/Intel 显卡,或任何你实际使用的硬件。每个测试日都有包含具体测试用例的 wiki 页面,但你自己的日常工作流往往藏着有趣的 bug。

如何参与并报告结果

报告结果需要一个 Fedora 账户。从日程表选择一个测试日,按 wiki 说明操作,通过测试日应用提交结果。如果发现异常,欢迎到 Matrix 的 #test-day:fedoraproject.org 与我们讨论。

测试日应用本身是开源的,位于 Forge 上的 quality/testdays-web。如果你觉得哪里有问题或有想法,可以提交工单。

提议一个测试日

这些工作不一定要都来自我们。如果你维护的软件包在 F45 中有重大变更,或者你在 ChangeSet 中看到需要更广泛测试的内容,可以提议一个测试日:在 forge.fedoraproject.org/quality/tickets 创建工单,标记为“test days”,并告诉我们你想测试什么。不需要事先准备好测试用例或 wiki 页面;QA 团队会协助处理。

测试日之外

测试日围绕特定变更集中进行,但测试 Fedora 可以随时进行。fedora-easy-karma 是命令行工具,能识别系统中已安装的测试更新,并让你直接在终端向 Bodhi 提交 karma。参见安装说明开始使用。与测试日应用一样,它也是托管在 Forge 上的开源项目,欢迎报告问题或建议功能。

链接

Matrix 的 #test-day 见。

关于 AI 使用的说明:这篇文章由我本人撰写。我使用 Claude(Anthropic)对语法、措辞和句子结构做了较大幅度润色;技术内容和所有论断均由我负责。