Synchronized syncs?

I was wondering whether it could be doable and desirable to make all ROS 2 syncs taking place at the same time. Currently, Foxy, Humble and Rolling syncs take place at different times and this can lead to some overhead for package maintainers.

Let me explain.

As far as we are concerned with the webots_ros2 package, we host all versions (Foxy, Humble and Rolling) on the same branch (main) by using compile-time defines to handle the API differences between ROS versions. This is very convenient and efficient.

We are also maintaining a Webots tutorial on the ROS 2 documentation web site for which we support all the currently supported ROS 2 versions. Again the source code for this tutorial is hosted on a single branch, but in that case, it is harder to handle nicely the differences between the versions as there is no powerful define mechanism to help with that.

Because our webots_ros2 package evolves, we need to update the tutorial and if the different releases are synchronized at different time, this means we have to push the updated tutorials at different times as well, so that the published tutorial for a specific version matches the currently released version. This is pretty tedious and error prone.

If the syncs for Foxy/Humble/Rolling/etc. would take place at the same time, we could also push the updated tutorial at the same time on all the branches of the documentation which would greatly simplify our lives.

Therefore my question: Why don’t we synchronize the syncs?

1 Like

At Foxglove, we also maintain some packages (e.g. foxglove_bridge, foxglove_msgs) which use a single development branch to support all distros — even ROS 1 & ROS 2. More aligned & more frequent syncs would be greatly appreciated.