Skip to content

Add explicit LYRICAL distro identifier (2605)#1488

Merged
minggangw merged 2 commits intoRobotWebTools:developfrom
minggangw:fix-1458-4
Apr 13, 2026
Merged

Add explicit LYRICAL distro identifier (2605)#1488
minggangw merged 2 commits intoRobotWebTools:developfrom
minggangw:fix-1458-4

Conversation

@minggangw
Copy link
Copy Markdown
Member

@minggangw minggangw commented Apr 13, 2026

Register the upcoming ROS 2 Lyrical Luth (May 2026) distribution so that distro-gated code paths activate correctly when ROS_DISTRO=lyrical is set, rather than falling through to the FUTURE sentinel.

Changes

File What changed
lib/distro.js Added LYRICAL: 2605 to DistroId enum and DistroNameIdMap
test/test-distro.js Replaced brittle exact-count assertion with expectedDistros array that verifies each known distro (including lyrical) is present via includes()

Why 2605? Follows the existing YYMM convention — Lyrical targets May 2026 GA.

Fix: #1458

Copilot AI review requested due to automatic review settings April 13, 2026 06:56
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

Registers the upcoming ROS 2 Lyrical Luth distro in rclnodejs’ distro utilities so ROS_DISTRO=lyrical resolves to a concrete distro ID instead of the FUTURE sentinel.

Changes:

  • Added DistroId.LYRICAL = 2605 and mapped the 'lyrical' name in DistroNameIdMap.
  • Updated the distro util test to expect 9 known distro names (was 8).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
lib/distro.js Adds the LYRICAL distro ID and name→ID mapping for ROS_DISTRO=lyrical.
test/test-distro.js Updates the expected count of known distro names to include Lyrical.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread lib/distro.js
Comment on lines 26 to 31
IRON: 2305,
JAZZY: 2405,
KILTED: 2505,
LYRICAL: 2605,
ROLLING: 5000,
FUTURE: 9999, // unrecognized ROS_DISTRO assumed newer than Rolling
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

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

Adding LYRICAL: 2605 changes getDistroId('lyrical') from the FUTURE sentinel (9999) to 2605, which will make all >= DistroId.ROLLING feature gates evaluate false on Lyrical. There are several such gates (e.g., lib/node.js:1590/1624, lib/subscription.js:154, lib/action/client.js:102), so Lyrical will now be treated as not supporting those Rolling-gated features. If Lyrical is expected to include those APIs (as a stable release branched from Rolling), update those checks to include DistroId.LYRICAL (or introduce a helper like “isRollingOrNewerStable()” / “isAtLeastDistroName()”) so behavior doesn’t regress compared to the previous FUTURE fallback.

Copilot uses AI. Check for mistakes.
Comment thread test/test-distro.js Outdated
Comment on lines 29 to 33
assert.equal(
distroNames.length,
8,
9,
'Incorrect number of known distro names'
);
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

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

The test asserts an exact getKnownDistroNames() length, which makes it fail every time a new distro is added (as in this PR) without adding much additional validation. Consider instead asserting that the array contains the expected distro names (including lyrical) and that each entry round-trips via getDistroId()/getDistroName(), without locking the total count to a specific number.

Copilot uses AI. Check for mistakes.
@coveralls
Copy link
Copy Markdown

coveralls commented Apr 13, 2026

Coverage Status

coverage: 85.864% (+0.002%) from 85.862% — minggangw:fix-1458-4 into RobotWebTools:develop

@minggangw minggangw merged commit bd926d7 into RobotWebTools:develop Apr 13, 2026
16 checks passed
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