Welcome to the Buildfarm Tools Repository!
The buildfarmer team is in charge of maintaining build results on the ROS and Gazebo buildfarms. You can look at the dashboards to inspect the status of all tracked jobs:
The ROS and Gazebo buildfarms operate as large-scale continuous integration (CI) systems.
When ROS or Gazebo packages are released or updated, the buildfarm automatically builds them across supported platforms and architectures, runs tests, publishes results, and tracks regressions over time. The buildfarmer team monitors and maintains this infrastructure to ensure the stability and reproducibility of ROS and Gazebo distributions.
While dashboards provide a high-level view of job status, many maintenance and debugging tasks require deeper inspection of build results and historical data. This repository contains tools used in buildfarmer workflows to query, analyze, and triage buildfarm data programmatically.
This repo contains all the tools to get information from the ROS and Gazebo buildfarms.
Note If you're interested in what tools we have available and how to use them, check the Tools usage section
To set up the project locally, please follow the instructions below:
- Clone the repository to your local machine.
git clone https://github.com/osrf/buildfarm-tools.git
- Install the dependencies of the project:
- Ruby Installation
- Install python requirements:
python3 -m pip install -r requirements.txt
- Test the scripts
- You can test your installation by running:
cd database/scripts ./check_buildfarm.rb - Wait for the script to run (around 1 minute) and check the buildfarm issues that are happening in the buildfarms
- You can test your installation by running:
- Read Tools usage section for a quickstart or check Buildfarmer Playbook to see all the tools available.
If you are a ROS or Gazebo developer interested in getting information about errors you're getting in CI or if you want to gather statistics of tests and errors in the buildfarms you can check the FAQ section.
Remember that the buildfarmer database is open to anyone who wants to inspect it (binary file: buildfarmer.db). You can use SQLite Browser to run personalized queries and filters.
If you are a buildfarmer team member, or you are interested in learning how we triage buildfarm issues and use these tools, you can check our workflow in the Buildfarmer Playbook:
You can check the Is an error a known issue or a flaky problem? play.
You can check the Check historical data of a test regression play.
You can check the Look for build regression statistics play.
Check the CONTRIBUTING.md to get started!