The ROS PMC meeting for this week was on Tuesday. The notes from the meeting are available at ROS PMC weekly meeting agenda
PMC Business (March 18th)
I neglected to post notes from last week, but here are two highlights from PMC votes:
- @mjcarroll proposes to accept @JM_ROS as a ROS PMC Committer now that their mentorship period has completed (Artciel 7.8.iv)
- Vote passes by consensus
- @christophebedard proposes to mentor @emersonknapp as a ROS PMC Member, as a promotion from current status as a committerr (Article 6.1.ii)
- Vote passes by consensus
PMC Business (March 25th)
- There is a TGC meeting this week, @mjcarroll to write monthly summary and distribute to ROS PMC.
- @gbiggs is seeking a volunteer from the ROS PMC to participate in the Technical Committee on “Enhancement Proposal Processes”. Please follow up with @mjcarroll and @gbiggs if you are interested.
Ongoing Tasks
- Buildfarm:
- No new issues this week.
- Waffle assignments:
- March 27 + April 3: @tomoyafujita
- All PMC members are requested to respond to @mjcarroll in Slack if they cannot be added to the weekly issue triage rotation due to other constraints.
- Brief discussion on the state of issue triage.
- For context, this meeting was formed when the waffle.io tool still existed. It is intended to be a weekly meeting where new issues and pull requests in the last two weeks are triaged and assigned to various members of the team.
- @Katherine_Scott asked if it makes sense to open up the meeting more broadly to the community.
- @mjcarroll since the meeting is relatively focused, it is probably of little value to most community members. It does not serve as a forum to surface issues, rather it is intended to quickly triage issues that have fallen through the cracks.
- Rosdistro Assignments
- March 25 - April 1: @ahcorde and @christophebedard
- Outgoing rosdistro issues: None
Kilted Development
- rmw_zenoh
- Agenda Item below
- FastDDS Version Bump
- @MiguelCompany announced that FastDDS 3.2.x has been released and is running through CI: Update Fast DDS to 3.2.x by MiguelCompany · Pull Request #1641 · ros2/ros2 · GitHub
- Conda/Pixi on Windows
- Patch releases in progress this week
- Action Introspection
- Iterating on rosbag2 pull request with @MichaelOrlov
- Client Library Working Group
- Python Events Executor has been merged Introduce EventsExecutor implementation by bmartin427 · Pull Request #1391 · ros2/rclpy · GitHub (Thanks to @bmartin427!)
Agenda Items
-
rmw_zenoh update from @Yadunund
-
Goal: Make rmw_zenoh a Tier-1 Middleware for Kilted.
- What does that mean?
- A dedicated nightly CI job where all core packages are built with only this RMW in the workspace and thus all tests from all packages are run against this RMW.
- How is that different from the ci.ros2.org jobs that we trigger manually for PRs?
- Most packages are tested only against the default RMW.
- Some packages invoke call_for_each_rmw_implementation and thus generate tests for all middlewares in the workspace.
- PR for nightly rmw_zenoh job: Initial CI job for Zenoh on Rolling by cottsay · Pull Request #320 · ros2/ros_buildfarm_config · GitHub
- rmw_zenoh will be added to REP-2005.
- What does that mean?
-
What do we need to do?
- Get rmw_zenoh in ros2.repos
- Needs to pass the manual CI jobs.
- What’s the issue?
- The default topology of rmw_zenoh requires a Zenoh router to serve as a broker for discovery information (data exchange is p2p). Without the router, nodes can’t discover each other.
- However, our CI infrastructure isn’t set up YET to run a separate process.
- Note: In our local testing, all tests pass for all repositories when run with rmw_zenoh and the router.
- Hence, we’ve opened a series of PRs against 7 repos that invoke call_for_each_rmw_implementation to set an environment variable to force rmw_zenoh to enable multicast discovery.
- Set envars to run tests with rmw_zenoh_cpp with multicast discovery by ahcorde · Pull Request #711 · ros2/demos · GitHub
- Set envars to run tests with rmw_zenoh_cpp with multicast discovery by Yadunund · Pull Request #1218 · ros2/rcl · GitHub
- Set envars to run tests with rmw_zenoh_cpp with multicast discovery by ahcorde · Pull Request #2776 · ros2/rclcpp · GitHub
- Allow zenoh tests to run with multicast by mjcarroll · Pull Request #992 · ros2/ros2cli · GitHub
- Set envars to run tests with rmw_zenoh_cpp with multicast discovery by ahcorde · Pull Request #567 · ros2/system_tests · GitHub
- Set envars to run tests with rmw_zenoh_cpp with multicast discovery by ahcorde · Pull Request #1946 · ros2/rosbag2 · GitHub
- Switch to get_rmw_additional_env by Yadunund · Pull Request #339 · ros2/sros2 · GitHub
- How does it fare?
- Pretty well! One flake test on linux and another on Windows.
- Pretty well! One flake test on linux and another on Windows.
-
What happens after we get rmw_zenoh in ros2.repos?
- Continue testing infra and work towards undoing the merge before Kilted is released by getting the router running in CI.
- Scott is working on updating the RMW API to configure processes that need to run along with the RMW.
- Goal is to have this ready before
-
What can we do better to merge those PRs temporarily?
- Reduce the number of envars we set? We technically only need 1/3 for repos except ros2cli.
- Suggestions?
- @MichaelOrlov If we can reduce the number of variables, please do so.
- @sloretz Since these are intended to be temporary, please indicate in the code that these are temporary
-
Why do we need to get rmw_zenoh into ros2.repos without the infra supporting a router?
- We need to work concurrently on testing rmw_zenoh in CI jobs while enabling CI to test rmw_zenoh effectively
- @cottsay (proper fix)
- Adding APIs to
rmw
that rmw_implementations can implement to start a process. - Next steps
- Get PR in rcutils merged which adds necessary utilities.
- Open PR in rmw with proposed API.
- @MiguelCompany Can we move the utility function that allocates a random domain_id to public API
- Scott: Absolutely.
- Adding APIs to
- Get rmw_zenoh in ros2.repos
-
-
@sloretz Looking for Feedback: Noetic EOL Recommendations for ROS 1 maintainers
- Note, today was for discussion, Shane will create a recommendation discourse post
- All repos that support ROS 1
- Release any unreleased changes now
- Final release deadline: May 15th, 2025
- Close all ROS 1 pull requests breaking API or ABI
- Ask authors of bug fix PRs to recruit multiple reviewers to test it
- Consider merging PRs that make it build on newer Ubuntu distros
- Do this now
- Close all ROS 1 pull requests adding new features
- Close all ROS 1 issues requesting new features
- Release any unreleased changes now
- If a repo only supports ROS 1
- On May 31, 2025
- Close all open PRs and issues
- Archive the repo
- On May 31, 2025
- If a repo supports ROS 1 and ROS 2
- The default branch should support ROS 2, preferably ROS rolling
- @DLu asks what about repos with ROS-O branches?
- Each maintainer can determine what they want to do to manage their repo/branching strategy as we are federated ecosystem, this intends to be a general guideline, not a prescriptive policy.
- Currently, ROS-O branches are supposed to remain feature-compatible with Noetic, but include updates for compatibility with newer Ubuntu versions
-
@sloretz Looking for feedback: Final ROS Noetic sync timeline
- Goal: The final ROS Noetic sync contains working software
- May 13th
- Begin sync freeze
- May 15th
-
- Perform second to last Sync
-
- Merge Noetic ros/rosdistro PRs
-
- May 16th
-
- Merge Noetic ros/rosdistro PRs
-
- Begin final sync freeze
-
- May 16th - May 29th
- Only accept Noetic ros/rosdistro PRs that fix regressions
- May 29th Perform last sync
-
@mjcarroll All, please remember to send good community issues to @Katherine_Scott for social media circulation.
As a reminder, ROS PMC meetings are open to the public, though only committers and members may speak without being called on. If you have topics that you would like discussed, feel free to respond here.