使用 ROS Build Farm 测试你的代码
ROS 2 Build Farm 功能非常强大。 除了创建二进制文件之外,它还将在 PR 合并之前编译和运行 ROS 包的所有测试来测试拉取请求。
有四个先决条件。
GitHub 用户 @ros-pull-request-builder 必须有权访问存储库。
GitHub 存储库必须设置 webhook。
test_pull_requests
标志必须为 true。
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 重新配置后才会创建作业。