diff --git a/.github/workflows/ros-ci.yaml b/.github/workflows/ros-ci.yaml index da83318..3f1a65f 100644 --- a/.github/workflows/ros-ci.yaml +++ b/.github/workflows/ros-ci.yaml @@ -49,6 +49,23 @@ jobs: with: required-ros-distributions: ${{ matrix.ros_distribution }} + - name: Check and Install ROS dependencies + shell: bash + run: | + set -e + source /opt/ros/${{ matrix.ros_distribution }}/setup.bash + echo "--- Updating rosdep definitions ---" + rosdep update + echo "--- Installing system dependencies for ROS 2 ${{ matrix.ros_distribution }} ---" + rosdep install --from-paths ros_ws/src --ignore-src -y -r --rosdistro ${{ matrix.ros_distribution }} + echo "--- Performing rosdep check for ROS 2 ${{ matrix.ros_distribution }} ---" + if rosdep check --from-paths ros_ws/src --ignore-src --rosdistro ${{ matrix.ros_distribution }}; then + echo "--- rosdep check passed ---" + else + echo "--- rosdep check failed: Missing system dependencies or unresolvable keys. ---" + exit 1 + fi + - name: Build and Test uses: ros-tooling/action-ros-ci@v0.3 with: