<div dir="ltr"><div><br></div><div>I recently spent quite a bit of time catkin bugfixing inbetween a successful pre-release and a successful release, so I thought I'd post some feedback.<br></div>


<div><br></div><div>Previously, one important part of pre-releasing was catching stack dependency bugs. Wet pre-releases on the other hand, let through alot of dependency bugs that are only found in the actual release. I believe the cause is due to the fact that the pre-release runs catkin on the whole stack, whereas the release works on individual packages. </div>

<div><br></div><div>In a pre-release a missing package dependency (e.g. you used geometry_msgs/Pose.h, but didn't include geometry_msgs in the package.xml) sometimes gets installed by another unrelated package in the stack which, just by chance, also happened to use it and did include it in the package.xml correctly... and no error results. On the build farm, where it builds packages independantly, you get a fail.</div>
<div><br></div><div style>These fails also happen in other ways - e.g. a missing find_package(catkin REQUIRED ...) in just one package in the stack also gets past pre-release.</div>

<div><br></div><div style>I know that once you're familiar with the development process, these problems are not so common. In this case, however, I had someone new trying on the catkin release process, and the 12-24 hr delay ping-ponging back and forth between trying a release, bugfixing it and trying again meant broken packages for a considerable period of time.</div>
<div style><br></div><div style>Also as a result - it rather feels that the pre-release isn't doing much more for me than a compile check that I can do on my own machine.</div><div style><br></div><div>Regards,</div>
<div>Daniel</div><div><div>
</div></div>
</div>