-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Galactic: Support Citadel, Edifice and Fortress #8
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great! I'm happy to see the Galactic PR job passes too.
Would you be willing to target this at the ros2
branch? I'd prefer to merge there first and then backport to Galactic.
What ROS versions does the Meanwhile, would you be ok enabling GitHub actions on this repo? I have no ⚡ here. |
Rolling, and I would branch off it for Humble.
What would be different about it? The default SDFormat version? |
Still trying to figure out how to do this :) |
It should be here: https://github.com/ros/sdformat_urdf/settings/actions |
Yup, and I wouldn't bother with |
Already seems to be enabled. Is there a PR specific setting? We could try merging the workflow in a separate PR and see if the actions show up on this one.
I wouldn't mind if the |
Ok, let me open a separate PR for actions, against |
Ok, there are a few ways we can go about this.
I'd prefer to go with 2.ii. My preference would be to not support versions that aren't supported by upstream. Otherwise, how far back should we go? And if a code path isn't being tested on CI, it's hard to say it is supported, so we might as well remove it so it doesn't become rotten innards. But I'd like to check if you have a preference first, @sloretz ? |
|
I agree we don't need to test Citadel on Jammy. Can CI be set up to only test libsdformat versions that are available on a platform?
I'd vote for adding I think the
You have a good point about upstream Gazebo not supporting all Gazebo releases available. I see this from the perspective of this package uses The |
I'm using "Gazebo" with its new meaning, what we would refer to as "Ignition" until recently. - SDFormat is an Ignition / Gazebo library, despite it not being on the name. All SDFormat releases are tied to a Gazebo release, see SDF docs and Gazebo docs.
Can you elaborate on what you mean here? Not sure if its a reiteration of the Gazebo vs SDFormat confusion above or a different point.
You mean minus EOL versions, right? SDF 10 and 11 are dead.
Ok, fair enough, so what are all the combinations we want to test on the
|
I think it's a reiteration of the above. If I understand correctly, it sounds like you're saying someone wouldn't normally say their package supports versions 9 through 12 of libsdformat in the same way someone wouldn't normally say they support version 2.x through 9.x of rclcpp. They would say they support Gazebo Citadel through Fortress or ROS Foxy through Galactic. |
Yeah it's like you'd say a package supports ROS Foxy through Humble instead of speaking in terms of the version of one specific dependency like I see where you're coming from though. Since this repository cares explicitly about SDFormat, I think it wouldn't be unreasonable to talk in terms of SDF versions, although that does bring specific versions of other Gazebo libraries, which are defined according to the distribution. For my specific use case, I'm compiling this in a workspace that also has |
* CI for Focal and Jammy Signed-off-by: Shane Loretz <sloretz@openrobotics.org> * Only run on pull_request updates Signed-off-by: Shane Loretz <sloretz@openrobotics.org>
Signed-off-by: Shane Loretz <sloretz@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Louise Poubel <louise@openrobotics.org>
CI is 🟢 for all versions 🚀 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only comments I have are nitpicks about the documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works for me with the buoy project! Downloads the correct libraries (libsdformat12) and supports sdf version 1.8.
changing the target branch to |
Signed-off-by: Louise Poubel <louise@openrobotics.org> Co-authored-by: Shane Loretz <shane.loretz@gmail.com>
Thanks, @sloretz , I've addressed all your comments and hopefully fixed the Gpr job 🤞🏽 |
Thanks for iterating! |
My original intention was to make the Galactic branch compatible with Fortress. While at it, I also added Edifice support and CI for different combinations.
😱 Galactic + Citadel
I noticed that this package was released into Galactic compiled against libSDFormat 9, which is the version used on Gazebo Citadel. Although libSDFormat doesn't have "Ignition" or "Gazebo" in its name, it is one of Gazebo's libraries, and is versioned with it. Therefore, its use should follow the dependency requirements dictated by REP-2000, which pairs Galactic with Gazebo Edifice, and therefore libSDFormat 11.
I do understand that this is all not trivial for a ROS maintainer to follow though. The long-term solution is to only expose the correct SDF version through rosdep keys. This may only be possible if/when there's only one ROS distro per Ubuntu distro. In the short term, maybe some documentation and rosdistro gatekeeping could help?
Summary of changes
GAZEBO_VERSION
variable, similar to how it's done on packages likeros_ign
andign_ros2_control
.Added GitHub actions CI - but since I don't have write access to this repository, I think it won't run unless someone enables itMoved to [Galactic] Backport github actions CI #11