we published a GitHub Action that makes creating binary distributions of ROS packages easier than ever!
It uses standard Debian tooling, supports ROS 1 & 2, and works with both public & private repos.
This is great! Thanks @jspricke and PickNik for this much needed public tool. You already have a first customer, already tried it successfully here and it works great
This is amazing. I have looked into creating binaries in the past. And most difficult part of the process was: where to leave your binaries.
Leveraging a git repo for this which can be used as apt source is a great solution!
Also thank you for adding this note in your documentation:
Note that this is not meant to replace the ROS build farm but as an addition.
@tnajjar please also release your package via the official channels. If all (or a lot of) open-source packages would start creating their own binary distribution channels, this becomes a large hassle to maintain for the users…
There are two use cases that we had when starting with this:
Internal projects at PickNik depend on source builds of many upstream projects because we have open PRs, or the packages haven’t been released into the main distribution since some critical bug fix or change was merged. This meant we’d sometimes have CI times of ~2hrs, even with caching. Binary installs of these packages are so much faster than even just running cmake and ccache with perfect cache hits.
When adding new features to MoveIt we’d like to update the tutorials simultaneously to reflect those changes. The tradeoff of doing that is that to go through the MoveIt tutorials; one has to build moveit from source. This puts a long waiting step in the new user experience of MoveIt.
This is not meant as a replacement for the main build-farm, and it could get frustrating for many users if most packages started publishing binaries this way because it is essentially creating an overlay, and using multiples of these at the same time could create conflicts that are hard to debug and resolve.