This task involves creating a reusable CI/CD pipeline using GitHub Actions to automatically run clang-tidy on a ROS 2 workspace. This pipeline will ensure that all C++ code within the workspace follows consistent quality and style standards, and it will help detect issues early.
Suggested Workflow
Checkout Repository
Set Up ROS 2 Environment
Install colcon and Additional Dependencies
Build the Workspace with colcon - This step is necessary to generate compile_commands.json files which clang-tidy uses. You might need to configure the CMakeLists.txt files in the repositories where this will be implemented
Run clang-tidy
Post clang-tidy Report to PR
Specifications
[ ] Trigger Events: The pipeline will run on workflow_call (Since its meant to be reusable)
[ ] clang-tidy Configuration: Include a .clang-tidy file in the repository that can be reused in other repositories
[ ] PR feedback: If it is possible, if clang-tidy detects any issues, these should be automatically added as a comment to the pull request the pipeline is run in.
Contacts
@kluge7
Code Quality
[ ] Every function in header files are documented (inputs/returns/exceptions)
[ ] The project has automated tests that cover MOST of the functions and branches in functions (pytest/gtest)
[ ] The code is documented on the wiki (provide link)
Description of task
This task involves creating a reusable CI/CD pipeline using GitHub Actions to automatically run clang-tidy on a ROS 2 workspace. This pipeline will ensure that all C++ code within the workspace follows consistent quality and style standards, and it will help detect issues early.
Suggested Workflow
Specifications
Contacts
Code Quality