使用 ROS Build Farm 测试你的代码

ROS 2 Build Farm 功能非常强大。 除了创建二进制文件之外,它还将在 PR 合并之前编译和运行 ROS 包的所有测试来测试拉取请求。

有四个先决条件。

GitHub 访问

您可以在 GitHub 组织级别或仅向单个 GitHub 存储库授予对 PR Builder 的访问权限。

GitHub 组织

#. 打开 https://github.com/orgs/%YOUR_ORG%/people (同时将 %YOUR_ORG% 替换为适当的组织) #. 单击 邀请成员 并输入 ros-pull-request-builder

GitHub 存储库

#.打开 https://github.com/%YOUR_ORG%/%YOUR_REPO%/settings/access (同时将 %YOUR_ORG%/%YOUR_REPO$ 替换为适当的组织/仓库) #. 单击 添加人员 并输入 ros-pull-request-builder #. 选择 管理员写入 作为其角色。(请参阅下一节)

WebHooks

如果您授予 ros-pull-request-builder 完全管理权限,它将自动设置钩子。

或者,您可以通过仅使用 写入 权限设置它们来避免完全管理权限的需要。

#.打开 https://github.com/%YOUR_ORG%/%YOUR_REPO%/settings/hooks/new) #.输入 "https://build.ros2.org/ghprbhook/ 作为 Payload URL #。检查以下选项: * 让我选择单个事件。 * 问题评论 * 拉取请求

test_pull_requests

对于您想要进行拉取请求测试的每个 ROS 发行版,您必须在 rosdistro 的相应部分启用 test_pull_requests 标志。

  • 选项 1 - 您可以在运行 bloom 时选择打开拉取请求测试。

  • 选项 2 - 您可以**小心**手动编辑 rosdistro repo 中的相应文件,并发出新的拉取请求。

`示例<https://github.com/ros/rosdistro/blob/3c295f76b0755989e9ed526c0b5f28a5f6a94da3/rolling/distribution.yaml#L4708>`_. 记录在 REP 143.

请注意,添加拉取请求后,通常要等到夜间 Jenkins 重新配置后才会创建作业。