Add ROS 2 Lyrical Luth#1496
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the Linux x64 reusable CI workflow to add an experimental build/test lane for the ROS 2 Lyrical Luth distribution alongside existing distros.
Changes:
- Adds
lyricalto the ROS distribution matrix with an Ubuntu 26.04 container and a beta ROS 2 binary tarball URL. - Marks Lyrical as experimental via
continue-on-errorso failures don’t fail the workflow. - Generalizes the “rolling nightly” installation/test flow to support both
rollingandlyrical.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| apt-get install -y software-properties-common curl | ||
|
|
||
| # Enable required repositories (per https://docs.ros.org/en/rolling/Installation/Alternatives/Ubuntu-Install-Binary.html) | ||
| # Enable required repositories (per https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html) |
| apt-get install -y ros-${{ matrix.ros_distribution }}-test-msgs | ||
| # mrpt_msgs may not be available for newer/beta distros (e.g. lyrical); install best-effort |
There was a problem hiding this comment.
Pull request overview
Updates the reusable Linux x64 CI workflow to exercise the new ROS 2 “Lyrical Luth” distribution while keeping the overall pipeline resilient as the distro stabilizes.
Changes:
- Add
lyricalto the ROS distribution matrix and mark it as experimental via job-levelcontinue-on-error. - Install ROS for
rolling/lyricalvia apt repo enablement + binary tarball extraction (instead ofsetup-ros), and generalize paths/rosdep invocation to usematrix.ros_distribution. - Run the standard build/test steps for all distros and extend the IDL message tests to
lyrical.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Lyrical Luth (May 2026 - May 2031, beta) - allow-failure until packages stabilize | ||
| - docker_image: ubuntu:26.04 | ||
| ros_distribution: lyrical | ||
| experimental: true | ||
| ros_tar_url: "https://github.com/ros2/ros2/releases/download/release-lyrical-beta-20260429-1/ros2-lyrical-2026-04-29-1-resolute-x86_64.tar.bz2" |
| apt-get install -y software-properties-common curl | ||
|
|
||
| # Enable required repositories (per https://docs.ros.org/en/rolling/Installation/Alternatives/Ubuntu-Install-Binary.html) | ||
| # Enable required repositories (per https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html) |
There was a problem hiding this comment.
Pull request overview
Updates rclnodejs’ ROS 2 feature gating and CI matrix to recognize ROS 2 Lyrical Luth as the new baseline for several APIs/ABI behaviors previously treated as Rolling-only.
Changes:
- Switch distro/version guards from “Rolling+” to “Lyrical+” for content-filter support, service endpoint introspection, lifecycle options, and action feedback-subscription filter helpers.
- Update rosidl JS message generation to emit the
is_rosidl_buffer/owns_rosidl_bufferfields for primitive sequences on Lyrical+. - Expand Linux CI to include a Lyrical job (marked experimental/allow-failure) and refactor Rolling/Lyrical setup to use binary tarballs.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| test/test-subscription-content-filter.js | Aligns test expectation gating for isContentFilterSupported() to Lyrical+. |
| src/rcl_lifecycle_bindings.cpp | Enables newer lifecycle state machine init path for ROS_VERSION >= 2605 (Lyrical+). |
| src/rcl_action_client_bindings.cpp | Exposes action feedback subscription filter helpers for ROS_VERSION >= 2605 (Lyrical+). |
| rosidl_gen/templates/message-template.js | Emits rosidl buffer ownership fields in generated message structs for Lyrical+. |
| lib/subscription.js | Updates runtime gating/docs for isContentFilterSupported() to require Lyrical+. |
| lib/node.js | Updates runtime gating for getClientsInfoByService / getServersInfoByService to Lyrical+. |
| lib/action/client.js | Updates optimization gating/docs for feedback subscription content filter to Lyrical+. |
| .github/workflows/linux-x64-build-and-test.yml | Adds Lyrical to the test matrix, marks it experimental, and unifies Rolling/Lyrical install flow via tarballs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Updates rclnodejs’ ROS 2 feature gating and CI matrix to recognize ROS 2 Lyrical Luth as the new baseline for several APIs/ABI behaviors previously treated as Rolling-only.
Changes:
is_rosidl_buffer/owns_rosidl_bufferfields for primitive sequences on Lyrical+.Fix: #1458