When is new package available on the ros2 build farm?
A new driver that is being added to rosdistro depends on a new message package that has just been added to rosdistro for distros Humble and Rolling. The driver and the messages live in different packages. Both have been successfully "bloom released", and the message package builds successfully on the ROS2 build farms, but the driver does not. It fails to find the message package file ("event_camera_msgs") although there is by now a Humble rosdep entry for event_camera_msgs, and the driver's package.xml file does have a dependency on event_camera_msgs. Here is the error I get from the build log of the driver:
09:13:35 -- Found rclcpp_components: 16.0.5 (/opt/ros/humble/share/rclcpp_components/cmake)
09:13:35 CMake Error at cmake/ROS2.cmake:53 (find_package):
09:13:35 By not providing "Findevent_camera_msgs.cmake" in CMAKE_MODULE_PATH this
09:13:35 project has asked CMake to find a package configuration file provided by
09:13:35 "event_camera_msgs", but CMake did not find one.
Why is event_camera_msgs not available on the build farm? Admittedly there has not been a sync for Humble yet since the new event_camera_msgs package has been added. Is that the problem? If two new packages A and B get added to rosdistro, when can package A rely on package B being available on the build farm? Or am I missing some configuration to cause the messages package to be installed before the build starts? The build log shows no attempts to install the missing event_camera_msgs package.
The error was due to the messages package not having been built correctly. Apparently even though a package is listed in the rosdep database, if its build fails, the building of the dependent package will fail with a cmake not finding the package. Once the message package was built, the driver build also progressed. There seems to be at most a few minutes (if any) delay for the built package to be available on the build farm.