ruckig icon indicating copy to clipboard operation
ruckig copied to clipboard

New ROS release

Open aseligmann-ipu opened this issue 3 years ago • 2 comments

Hi @pantor,

Quite a few great features and fixes have been added to Ruckig since latest ROS release (v0.6.3). Would you mind running a new Ruckig bloom release for ROS?

aseligmann-ipu avatar Aug 30 '22 07:08 aseligmann-ipu

Yeah, unfortunately I've got somme issues with bloom, GitHub's 2FA, and the recent transfer to ros2-gbp that already did cost me a bit of time. Andy already offered some help in #118, but not sure about the current state. I'd be happy to transfer ROS maintenance if anybody wants to step in, or even better to see a PR that integrates it into Ruckig's CI.

pantor avatar Aug 30 '22 13:08 pantor

Unfortunately I am not familiar with bloom or GitHub's CI.

I've found an example of a package which seems to have been successfully bloom'ed using the same CI action as you've set up for Ruckig. This might be useful for debugging / inspiration:

  • Action: https://github.com/at-wat/neonavigation/actions/runs/2801821198/workflow
  • Generated rosdistro PR: https://github.com/ros/rosdistro/pull/34076

It seems that they are using a release repo under their own namespace: https://github.com/at-wat/neonavigation-release Perhaps doing something similar for Ruckig could solve the 2FA issue?

ghost avatar Aug 31 '22 09:08 ghost

@vatanaksoytezer do you have bandwidth to make a Ruckig release, or have a suggestion for somebody at PickNik who could? I don't need it for any project right now but it would be nice since this package is pretty important

If @vatanaksoytezer doesn't know anybody, I wouldn't mind doing it

AndyZe avatar Dec 14 '22 18:12 AndyZe

I am at client visit this week and will not be available until next Wed from travelling. I don't mind releasing next Wed though.

vatanaksoytezer avatar Dec 14 '22 18:12 vatanaksoytezer

:+1: @vatanaksoytezer is a lot more knowledgeable than I am about the release process

AndyZe avatar Dec 14 '22 18:12 AndyZe

@pantor I don't mind maintaining ROS side and releases. Can I get write access to https://github.com/pantor/ruckig-release by next Wednesday so I can bloom? Having write access to the current ruckig repo will be helpful if you don't want to spend time tagging releases and merging ROS related PRs. If you don't mind doing that I can make the release without write access as well. In that case, I can open a release PR from my fork, then you can fast forward merge + tag it, which would let me release.

vatanaksoytezer avatar Dec 14 '22 18:12 vatanaksoytezer

Great, thank you @vatanaksoytezer! There is also the ros2-gbp/ruckig-release repository that I thought should replace pantor/ruckig-release. I would prefer the ros2-gpb repo, should I give you access to that one?

pantor avatar Dec 15 '22 07:12 pantor

@pantor I think you should not be able to give me access to https://github.com/ros2-gbp/ruckig-release but if you want to use those repos I would appreciate if you can open a PR to add me to releasers in ros2-gbp here: https://github.com/ros2-gbp/ros2-gbp-github-org/pulls

vatanaksoytezer avatar Dec 15 '22 16:12 vatanaksoytezer

I've opened a PR at ros2-gbp/ruckig-release to add you as a release team member there and invited you as a collaborator here. I think you should be good to go once the PR is merged.

pantor avatar Dec 16 '22 07:12 pantor

Happy holidays!

MoveIt is now using Ruckig as a dependency, and therefore the most recently bloomed release (0.6.3) is fetched from the package manager.

I am using Ruckig in a project where we need atleast version 0.7.1, as well as MoveIt, and have so far been building Ruckig from source and installing to /usr/local to allow for this configuration.

It seems that despite CMake being able to find my source-compiled version, no ruckig_INCLUDE_DIRS or ruckig_LIBRARIES variables are defined for catkin to utilise, which leads catkin (or CMake?) to somehow link my project to the 0.6.3 version of ruckig in /opt/ros/noetic. I've spent embarrasing amounts of time trying to wrangle CMake/catkin into using my /usr/local version of Ruckig, even going as far as hardcoding paths. Nothing I do leads to the correct version being linked.

My project currently does not compile due to this. I assume the simplest solution to this problem is a new Ruckig release, and I must admit I am at a bit of loss about how to proceed.

@pantor @vatanaksoytezer Do you have a timeline for an expected release?

ghost avatar Jan 05 '23 13:01 ghost

@aseligmann-ipu I just created the new changelog here: https://github.com/pantor/ruckig/pull/149 and version is already bumped in a previous commit a few days ago. Once approved I will go onto bloom release. Since we missed the noetic sync by a week. I expect it to be synced in three weeks of time or so.

vatanaksoytezer avatar Jan 05 '23 13:01 vatanaksoytezer

It seems that despite CMake being able to find my source-compiled version, no ruckig_INCLUDE_DIRS or ruckig_LIBRARIES variables are defined for catkin to utilise, which leads catkin (or CMake?) to somehow link my project to the 0.6.3 version of ruckig in /opt/ros/noetic.

Also please don't use binaries and source builds together. If you need to use ruckig as a source dependency to moveit, please delete the binary version and only source the source built version. In short removing the binary installation should fix your issue: (sudo apt remove ros-ROS_DISTRO-ruckig). Please let me know how it goes and I would be happy to help further.

vatanaksoytezer avatar Jan 05 '23 13:01 vatanaksoytezer

@aseligmann-ipu I just created the new changelog here: #149 and version is already bumped in a previous commit a few days ago. Once approved I will go onto bloom release. Since we missed the noetic sync by a week. I expect it to be synced in three weeks of time or so.

Perfect timing, sounds good thank you

ghost avatar Jan 05 '23 13:01 ghost

It seems that despite CMake being able to find my source-compiled version, no ruckig_INCLUDE_DIRS or ruckig_LIBRARIES variables are defined for catkin to utilise, which leads catkin (or CMake?) to somehow link my project to the 0.6.3 version of ruckig in /opt/ros/noetic.

Also please don't use binaries and source builds together. If you need to use ruckig as a source dependency to moveit, please delete the binary version and only source the source built version. In short removing the binary installation should fix your issue: (sudo apt remove ros-ROS_DISTRO-ruckig). Please let me know how it goes and I would be happy to help further.

To clarify, my goal is not to use the source-built version of Ruckig as a dependency for MoveIt. I've been using Ruckig since before it became a dependency for MoveIt. We are however using MoveIt for other things.

Upgrading my MoveIt (core) binaries to version 1.1.11 requires ros-noetic-ruckig, which is where the issue arises. Further, it seems that earlier versions of MoveIt, e.g. 1.1.10 are no longer available on the package repository (http://packages.ros.org/ros/ubuntu/pool/main/r/ros-noetic-moveit-core/), so downgrading the binary version is not an option either. Simply removing ros-noetic-ruckig is also not an option anymore, since ros-noetic-moveit-core has it as dependency, and will therefore also be removed.

My goal is to use the source-built Ruckig for a custom package which is not MoveIt related.

ghost avatar Jan 05 '23 13:01 ghost

@aseligmann-ipu do you mind opening a new issue in MoveIt so it is more visible there as well? It's a bit undocumented but you should be able to access earlier versions of packages using a different ROS_INDEX (https://raw.githubusercontent.com/ros/rosdistro/noetic/2022-11-30/index-v4.yaml) as in https://github.com/ros-planning/moveit2/issues/1120#issuecomment-1076520896

vatanaksoytezer avatar Jan 05 '23 14:01 vatanaksoytezer

@aseligmann-ipu do you mind opening a new issue in MoveIt so it is more visible there as well? It's a bit undocumented but you should be able to access earlier versions of packages using a different ROS_INDEX (https://raw.githubusercontent.com/ros/rosdistro/noetic/2022-11-30/index-v4.yaml) as in ros-planning/moveit2#1120 (comment)

I'll try the linked method of fetching older packages, thank you.

I can open an issue on the MoveIt repo, but do you deem that this issue is MoveIt related? To me it seems that the MoveIt package is not at fault, since they've just implemented a useful feature utilising Ruckig :thinking:

ghost avatar Jan 05 '23 14:01 ghost

Hmm reading again your problem, can you confirm what I am understanding is right?

What I understand is, MoveIt + Ruckig Binaries works, but you want to use a source version ruckig in the same project with moveit and that's the problem. If the former (MoveIt + Ruckig binaries) does not work, yes we should open an issue. Otherwise you are right we can keep it here.

vatanaksoytezer avatar Jan 05 '23 14:01 vatanaksoytezer

What I understand is, MoveIt + Ruckig Binaries works, but you want to use a source version ruckig in the same project with moveit and that's the problem.

This is correct. I can see that what I am trying to accomplish here will lead to a non-trivial solution. I do however believe it should be possible.

ghost avatar Jan 05 '23 16:01 ghost

@pantor I released for humble and rolling. But apparently, I need access to change the URL from pantor/ruckig-release to ros2-gbp/ruckig-release for noetic and foxy. Do you mind giving me access to pantor/ruckig-release so I can go ahead and do that?

vatanaksoytezer avatar Jan 10 '23 17:01 vatanaksoytezer

Done!

pantor avatar Jan 11 '23 13:01 pantor

Releases for foxy, humble, rolling, noetic and melodic have been made for version 0.9.1. I will try to stick to a release cycle of every 6 to 8 weeks, if there are sufficient changes. Let me know if there is anything I can help with. @pantor do you want to make a Github Release for v0.9.1 or should I do it?

Anyone looking here in the future, just ping me if you need a new release for a distro and I don't mind cutting it asap. Closing the issue as completed!

vatanaksoytezer avatar Jan 11 '23 15:01 vatanaksoytezer