为 Ceph 贡献者准备的 make check 机器人

loic

自动 为 Ceph 提供的 make check 机器人Ceph 拉取请求 上运行。它仍然是实验性的,并且尚未对所有拉取请求触发。

它执行以下操作

开发者的一种用例是

  • 编写补丁并发送拉取请求
  • 切换到另一个分支并处理另一个补丁,同时机器人正在运行
  • 如果机器人报告失败,则切换回原始分支并重新推送修复:机器人会注意到重新推送并再次运行

它也有助于审查者,他们可以等待机器人成功后再仔细查看补丁。

为了调试错误,可以在合并或重新基于目标分支后,在拉取请求的分支上本地执行 run-make-check.sh

它也可以在容器中运行,用于 CentOS 7Ubuntu 14.04。每个容器大约需要 10GB 的磁盘空间。它们使用专用的 Ceph 克隆运行,以避免在开发继续进行时受到干扰。

容器的 准备 使用 install-deps.sh 并需要很长时间(从五到三十分钟或更长时间,具体取决于带宽)。但是,只要其依赖项(ceph.spec.in、debian/control 等)未修改,就可以完成一次并重复使用。第二步,包括 make -jX check,在 64GB RAM、250GB SSD、24 核服务器上需要六分钟,在 16GB RAM、250GB 旋转硬盘、4 核笔记本电脑上需要十五分钟。 -jX 设置为报告的处理器数量的一半(即,如果 8 个处理器,则为 make -j4,如果 24 个处理器,则为 make -j12)。

机器人运行在容器中,以便可以通过删除容器(例如,使用 docker stop ceph-ubuntu-14.04)来清理失败的测试或在花费时间过长(30 分钟)时中止。

机器人由 Gitlab CI 基于 git 仓库的镜像 触发。它们都需要进一步完善。