ros-infrastructure / ros_buildfarm

ROS buildfarm based on Docker
Apache License 2.0
81 stars 96 forks source link

Don't crawl non-ROS packages using rosdep in CI jobs #920

Closed cottsay closed 2 years ago

cottsay commented 2 years ago

When building CI jobs with colcon, not all of the packages in the workspace need to be ROS packages - we sometimes have non-ROS packages as well.

We're using rosdep to crawl the workspace in order to enumerate the dependencies we need to install. When rosdep encounters a package, it doesn't descend into the package any further. Because non-ROS packages are not discovered by rosdep, it freely descends into those packages looking for a manifest.

The problem occurs if that non-ROS package has any 'test' packages inside it. If it were a ROS package, the subdirectories would never have been traversed.

This change specifically excludes non-ROS package directories from rosdep's search.