Continous integration and testing (toolchain) for commercial ROS projects

Hi,
we’re evaluating the ROS overall environment for a commercial use case. Continous integration and testing (and reporting) is vital in our case. We are looking for an all-in-one software suite for test generation, test execution and monitoring, test management and and automated reporting. Almost plugin-and-play integration for ROS-supporting simulation environments would be nice.

So far I have not found any ressources to a specific ROS related test suite, toolchain nor best practices.

Ressources I’ve found so far:
Simulation-based testing: Webots, Gazebo Ignition, (Carla)
Testing for contributers
General Tools
Related threads: 1 2
Other tools: Scenario test tools

How do you guys handle this? Do you use “traditional” tools/toolchains? Any recommendations in this area? Any major bummers we could run into?

Thanks!

1 Like

You might find these blog posts I wrote about tooling for CI with ROS projects interesting:

We work on many projects that have to support different team sizes, client needs, and collaboration styles and have found a common set of tools that work well for us. The TL;DR for us is we use industrial_ci based on GitHub Actions. For an example how we do this you can look at the moveit2 repo: GitHub - ros-planning/moveit2: MoveIt for ROS 2

Another large project that has a robust CI system with very mature testing is Navigation 2. You should check out their repo here: GitHub - ros-planning/navigation2: ROS2 Navigation Framework and System

Today I learned by reading the reviews of the talk we submitted to ROSCON about this topic that it was rated really low on “Open Source Availability” which makes me wonder if the reviewers read our description. The tooling we developed for and use on MoveIt2 has been reused on many comercial projects and I am happy to answer any questions you have about it and help you understand the tradeoffs between different tooling options you have.

4 Likes