Skip to content

Add ROS 2 Lyrical Luth#1496

Open
minggangw wants to merge 9 commits intoRobotWebTools:developfrom
minggangw:fix-1458-8
Open

Add ROS 2 Lyrical Luth#1496
minggangw wants to merge 9 commits intoRobotWebTools:developfrom
minggangw:fix-1458-8

Conversation

@minggangw
Copy link
Copy Markdown
Member

@minggangw minggangw commented May 1, 2026

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_buffer fields 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.

Fix: #1458

Copilot AI review requested due to automatic review settings May 1, 2026 10:49
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 lyrical to 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-error so failures don’t fail the workflow.
  • Generalizes the “rolling nightly” installation/test flow to support both rolling and lyrical.

💡 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)
Comment on lines +82 to +83
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
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 lyrical to the ROS distribution matrix and mark it as experimental via job-level continue-on-error.
  • Install ROS for rolling/lyrical via apt repo enablement + binary tarball extraction (instead of setup-ros), and generalize paths/rosdep invocation to use matrix.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.

Comment on lines +42 to +46
# 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)
@coveralls
Copy link
Copy Markdown

coveralls commented May 1, 2026

Coverage Status

coverage: 85.864%. remained the same — minggangw:fix-1458-8 into RobotWebTools:develop

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_buffer fields 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Roadmap: Prepare rclnodejs for ROS 2 Lyrical Luth

3 participants