ros-drivers / phidgets_drivers

ROS drivers for various Phidgets devices
Other
45 stars 61 forks source link

Switch the testing matrix to only test on humble. #146

Closed clalancette closed 2 years ago

clalancette commented 2 years ago

Also make one small fix the README while we are here.

Signed-off-by: Chris Lalancette clalancette@openrobotics.org

mintar commented 2 years ago

In #138, @clalancette wrote:

I'll go ahead and make the branch, though I'm not entirely sure we should keep them synced and using the same matrix. That is, it would be simpler to just have the humble branch test against humble, and the rolling branch against rolling. It requires a bit more work to backport everything, but I think it is much simpler for users to understand.

I don't think it's simpler for users to understand. Inevitably, we'll forget to back-port some PRs, and they'll be back-ported later out of order. Is it really simpler to see at a glance if the code between the two branches is identical if we let them diverge for no real reason? So my argument is that it's not only more work for us but also more confusing for users. All repos I've seen that used this "let it diverge" approach have had similar problems - PRs forget to be back-ported, maintainers lose track of what's back-ported and what isn't, bugs get hard to debug because you have so many different versions of your software that you're trying to maintain at the same time, and because it's so much work for the maintainers, support for older LTS ROS versions is often dropped prematurely.

In the past, I've had very good experiences with the following approach:

Of course, all of that is only a suggestion. If you prefer to do it your way, that's fine too!

mintar commented 2 years ago

@clalancette : Any opinions? If you really prefer branching off now, we can do that. It's up to you.

clalancette commented 2 years ago

@mintar Sorry for the delay here.

I think your approach is the best of both worlds; we branch off (so it is easy to tell at a glance that the humble branch belongs to Humble), but we also ensure that backports are done to all supported branches simultaneously.

So with that in mind, then, I think what we would do here is to close this PR and instead open one that targets rolling, and adds in humble to the test matrix. Once we merge that, we would fast-forward that to the humble branch, and then going forward we would continue doing that unless/until we need to do some breaking change. Does that match with your understanding?

mintar commented 2 years ago

Yes, that matches my understanding exactly!