Introducing the setup-gazebo GitHub Action

Setting up a Gazebo environment in a Continuous Integration (CI) pipeline involves installing dependencies, managing repository keys, and ensuring compatibility with different versions. The process can often be time-consuming and can lead to inconsistencies between environments.

The setup-gazebo GitHub Action automates the entire setup process for Gazebo in your CI pipeline ensuring consistency and reducing setup time by eliminating the pitfalls of manual configurations and platform incompatibility. All the installation steps are automated, from managing the dependency chain to installing the desired Gazebo distribution.

When used alongside ROS 2, the complexity of the combinations increases with the existence of recommended and supported combinations, along with possible combinations through ROS official binaries as ROS Gazebo vendor packages. The setup-gazebo action handles all these options transparently and the installation of the correct version of the ROS-Gazebo bridge (ros_gz) to avoid version mismatches.

The setup-gazebo action supports the installation of five major Gazebo distributions:

  • Citadel
  • Fortress
  • Garden
  • Harmonic
  • Ionic

Additionally, you can choose between stable releases, pre-releases, or nightly builds depending on your needs.

The setup-gazebo GitHub Action is available on the GitHub Marketplace and can be easily integrated into your GitHub workflow with just a few lines of code.

This action was developed during Google Summer of Code (GSoC) 2024, under the mentorship of Jose Luis Rivero (@jrivero) and the Gazebo team.

3 Likes

You can find the source code at github.com/gazebo-tooling/setup-gazebo.