-
Notifications
You must be signed in to change notification settings - Fork 157
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
How to release and run different flavours of ros_ign packages #76
Comments
Without touching how the code is organized in the repo right now:
Without asking the user for changing The 5 is even more difficult without implementing a wrapper in the source code that accepts an input about which Ignition version the user wants to run and loads different code. Combining both, different filesystem location for one the packages and the wrapper (altering |
tl;dr Let's drop requirements 4 and 5 and have only one Some more considerations:
What do you think, @j-rivero ? |
The team has discussed this a while back and I believe there are no objections. Here's the plan: ROS 1
ROS 2
An open question is how to version all these releases. I propose the following scheme:
|
Sorry did not answer here although we speak in person. +1 to all the plan, sounds like the best approach to me and it is the same we are doing with
The whole plan looks good to me. We might need to change something in release-tools along the way but we can cover it as we go forward. I think we need a place to store this information (official vs unofficial releases, naming, versioning, etc.).
An alternative could be ROS1/ROS2/ROSN and the second for releases:
This way we reserve 'space' in the case of new ROS1/ROS2 releases appear, the first number gets a meaning and we don't go too far with versions (that is pure cosmetic). Another option could be to sync with |
Good point, I'll open a PR documenting this within this repo.
I like that the numbers will have meaning. This means we won't be using semver though. So we should document what minor and patch bumps mean, as well as what's our API/ABI policy. I have a slight preference for bumping a major for each ROS distro so we can piggyback on ROS 2's versioning guidelines. Another thing to consider is not to bump above 1.0 yet so we don't commit to API stability. In that case, we could keep 0.X across all distros, and use different minors to differentiate them, for example:
|
Oh I assumed that in ROS, specially in ROS1, we don't quite follow semver.
Good resource indeed.
Like it, deal. |
We currently host packages for ros_ign bridge in Melodic:
For this new release we would be changing names to |
Oh no, I think that would break SubT. I think we agreed that |
The original request is from @chapulina. This issue speaks only about the issue of having binary packages supporting different ROS distros and different Ignition distros. A source build for these combinations seems to be possible after changes in pr #72
A release of
ros_ign
code should ideally fulfill the following requirements:i.e: do not modify
ros_ign
orros_ign_bridge
i.e:
ros-melodic-ros-ign
andros-noetic-ros-ign
i.e:
ros-melodic-ros-ign-citadel
andros-melodic-ros-ign-blueprint
problem: filesystem paths are the same within the same ROS distribution since package names are the same
problem: how to rosrun/roslaunch different code if package name is the same
The text was updated successfully, but these errors were encountered: