Implementing CI/CD for ROS 2 packages
As shown in the previous section, unit testing involves testing individual code components or functions to ensure they work as expected. Here we will introduce a new tool for developers, called CI/CD. This is a broader process that automates code integration, testing, and deployment, ensuring that changes are tested and deployed reliably and quickly.
If your code has a compilation error or depends on other system packages, you need an automated tool to prevent deployment and distribution if it fails to compile or causes issues for other packages. This is where a CI/CD tool comes in. Here, we’ll use GitHub Actions, a feature provided by GitHub, to implement these testing mechanisms. However, there are many tools available for this purpose, such as the following:
- Jenkins: This is the most famous one. It is an open-source automation server and is highly customizable with plugins for various CI/CD workflows.
- GitHub Actions...