[Documentation] [TitleIndex] [WordIndex

Pull request testing

Using a package ros_buildfarm, you can run the build and test logic that ROS build farm runs on the host of your choice. ROS build farm also provides pull request testing for repositories hosted on GitHub.

Enable pull request testing for a specific repository on Github

For each repository the following two things must be done.

There are two ways to do this as following. For some GitHub org unit this might have already been done. If you need it to be added to an org unit please contact the maintainers of the org unit or ask on answers.ros.org.

Update rosdistro

You must add the test_pull_requests flag for the source entry of a specific repository in the distribution file and set it to true. E.g. see the Indigo distribution file. The configuration option is documented in REP 143.

Note that after the pull request has been added, the job will usually not be created until the nightly Jenkins reconfiguration.

Integration with other CI systems

If you don't want to use the official Jenkins server you can also setup any other CI systems (e.g. Travis) for your repository while still leveraging the logic provided by the Python package ros_buildfarm. Please look at the documentation for an example .travis.yml file.

Integration using other services

The Python package ros_buildfarm also provides scripts for running various jobs on the command line. A pull request job is simply a devel job being triggered for the specific branch of the pull request. The documentation describes how to run devel jobs locally. This can be used to perform the task of a specific job locally as well as within any service provider like Travis.


Once the system is set up, the pull requests will be tested

  1. When a new PR is opened
  2. New commits are added to a PR
  3. When you ask nicely with a comment on a PR @ros-pull-request-builder retest this please

2024-06-22 12:37