Testing, Continuous Integration, and Continuous Deployment with ROS 2
During a project, developers often make continuous changes to the same source code to add new features. To prevent introducing bugs or compilation errors, it’s essential to have reliable tools that can automatically detect issues early. These tools should run before sharing the updated code with the rest of the team or integrating it into a larger system to avoid disrupting a functioning setup.
This chapter will cover two key practices: code testing, which ensures the code performs as expected, and Continuous Integration (CI) and Continuous Deployment (CD), which automate code integration and deployment to check for bugs and streamline the release process. Numerous tools are available for these tasks, and in this chapter, we will use ROS 2 nodes and packages with these tools. For testing, we’ll utilize the Google Test (GTest) framework, and for CI/CD, we’ll leverage a GitHub feature called...