MariaDB Server 的持续集成和测试向社区开放
MariaDB Server 如何进行测试
MariaDB 基金会致力于确保 MariaDB Server 拥有一个繁荣的开发者和贡献者社区。一个软件项目如果没有适当的测试就无法维护。mysql-test-run 是我们的 MariaDB Server 标准测试工具包。它主要做的是对一个或多个服务器运行查询,并将其输出与预期输出进行比较。这检查了行为和数据一致性。主要原则是服务器应始终返回输入的数据。
这种测试方法的一个问题是它只涵盖了主机的环境。这意味着如果您在 x86_64 架构上运行 Debian,那么您测试的是在 Debian Linux 发行版上的 x86_64 架构。MariaDB Server 必须在许多平台上运行,从 x86 到 ARM、Power、MIPS、IBM 大型机等。MariaDB Server 还必须在所有流行的操作系统上运行,包括 Linux 和 FreeBSD、Windows、OS X 等。每个架构都必须经过适当的测试,以最大程度地减少错误。
构建基础设施历来运行在托管于 buildbot.askmonty.org 的 buildbot 部署上,目前是 MariaDB 基金会和 MariaDB 公司之间的共享资源。
向社区开放的测试基础设施
MariaDB 基金会致力于改进我们的测试工作。这包括为社区提供相同水平的测试。我们通过升级到新版本的 buildbot 来实现这一点,该版本现在托管在 buildbot.mariadb.org。新的 buildbot 功能更多,使我们能够为社区的 pull request 提供相同水平的测试。一段时间以来,我们也一直在为 pull request 运行测试。贡献者现在可以直接在 GitHub 上检查其补丁的正确性!
作为一家非营利组织,MariaDB 基金会如果没有赞助商的支持,这个项目将无法实现。我们现在运行着 3 台大型专用构建器,其中一台由 Hetzner 在项目启动一年多前捐赠,另一台 Power9 机器由 IBM 捐赠。最近,我们通过 Huawei 捐赠的一台强大的 ARM64 机器扩大了我们的工作节点队伍。
有关赞助商的完整列表,请访问 buildbot.mariadb.org/#/sponsor/。每台机器,无论大小,都有助于系统更好地运行和进行更多测试!
未来计划
buildbot.mariadb.org 的范围将进一步扩大。此外,我们计划实施受保护的分支和 staging trees。通过这些改变,我们可以确保主分支上的每次提交都能通过所有环境中的所有测试。
我们将添加更多构建器配置,扩展自动化并修复偶尔出现的故障。我们正在寻求社区的反馈!请在我们的邮件列表 maria-developers 和 maria-discuss 上告诉我们您希望在 buildbot.mariadb.org 看到什么。