Skip to content

Conversation

@frneer
Copy link
Contributor

@frneer frneer commented Mar 21, 2025

This patch adds support for type description generation in rosidl_cli. It introduces a new hash command to generate type descriptions. It also ensures they are always present as part of the generate command even if the user doesn't provide them.

Addresses #808

Recommended Review Order

I recommend starting with the new hash generator in rosidl_cli/rosidl_cli/command/hash, which utilizes the extension defined in rosidl_generator_type_description/rosidl_generator_type_description/cli.py, and then progressing to the other changes.

Notes

  • I verified that no updates were required in other parts of rosidl, such as rosidl_python and rosidl_typesupport.

@hidmic
Copy link
Contributor

hidmic commented Mar 21, 2025

FYI @calderpg-tri

@hidmic
Copy link
Contributor

hidmic commented Mar 21, 2025

@sloretz @fujitatomoya for review, perhaps?

@fujitatomoya
Copy link
Contributor

@hidmic i can try but i do not have bandwidth for this week, probably next week.

@fujitatomoya fujitatomoya self-requested a review March 25, 2025 20:36
@fujitatomoya fujitatomoya added the enhancement New feature or request label Mar 25, 2025
@hidmic
Copy link
Contributor

hidmic commented Apr 4, 2025

@fujitatomoya friendly ping.

@sloretz
Copy link
Contributor

sloretz commented Apr 10, 2025

@Mergifyio rebase

frneer added 2 commits April 10, 2025 23:51
Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>
Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>
@mergify
Copy link
Contributor

mergify bot commented Apr 10, 2025

rebase

✅ Branch has been successfully rebased

@sloretz sloretz force-pushed the frn/rolling/cli_type_description_support branch from 4f72aab to 1952bfe Compare April 10, 2025 23:51
Copy link
Contributor

@sloretz sloretz left a comment

Choose a reason for hiding this comment

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

I don't totally understand what type description hash files are, but IIUC the rosidl_cli is not used in our normal builds. IIRC some people use it for Bazel builds.

I'm inclined to merge this PR if a full CI run passes.

@sloretz
Copy link
Contributor

sloretz commented Apr 11, 2025

It looks the PR job is showing some test failures. @frneer mind addressing those, and then I can run full CI when that's done?

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
@hidmic
Copy link
Contributor

hidmic commented Apr 14, 2025

@sloretz linting issues addressed.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
@hidmic
Copy link
Contributor

hidmic commented Apr 14, 2025

Hmm, I cannot fully reproduce all flake8 errors that CI reports in my local Rolling container. Let's see if it likes 12fabce

@hidmic
Copy link
Contributor

hidmic commented Apr 21, 2025

@sloretz friendly ping

ggould-tri pushed a commit to RobotLocomotion/drake-ros that referenced this pull request Apr 24, 2025
This patch adds support for `type_description` generation to `rosidl`. 

It depends on ros2/rosidl#857.

**Warning**: This patch switches the main branch support to support `jazzy` (only) instead of `humble` (only).

## Testing the changes locally
To test the changes follow these [instructions](https://gist.github.com/frneer/bfce42af74670d40df5ea240fa611cb5#file-instructions-md).

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>
Co-authored-by: Michel Hidalgo <michel@ekumenlabs.com>
@sloretz
Copy link
Contributor

sloretz commented Apr 25, 2025

@Mergifyio update

@mergify
Copy link
Contributor

mergify bot commented Apr 25, 2025

update

✅ Branch has been successfully updated

@sloretz
Copy link
Contributor

sloretz commented Apr 25, 2025

Pulls: #857
Gist: https://gist.githubusercontent.com/sloretz/074c8f03de765e1bf1fd14c0e7601b96/raw/d055fd05809827eb89449e3ce092f4b7f3cdd4bb/ros2.repos
BUILD args:
TEST args:
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/15793

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@hidmic
Copy link
Contributor

hidmic commented Apr 25, 2025

@sloretz it looks like Windows didn't like the recent Rust addition ros2/ros2@adcb538.

@mjcarroll
Copy link
Member

@sloretz it looks like Windows didn't like the recent Rust addition ros2/ros2@adcb538.

Sorry, I thought it had already run through full CI, here is a revert: ros2/ros2#1677

@mjcarroll
Copy link
Member

@esteve can you ptal and see what's going on with Windows here? It seems related to rosidl_generator_rs and is probably independent of this PR.

@esteve
Copy link
Member

esteve commented Apr 26, 2025

ros2-rust/rosidl_rust@77732ce should fix the Windows issue. We don't have a CI for Windows ros2-rust yet (ros2-rust/ros2_rust#110), but hopefully soon. Can you trigger another CI run?

@christophebedard
Copy link
Member

I retriggered the Windows job above, which includes ros2-rust/rosidl_rust with ros2-rust/rosidl_rust#3 now

@esteve
Copy link
Member

esteve commented Apr 27, 2025

@christophebedard thanks

@hidmic
Copy link
Contributor

hidmic commented Apr 28, 2025

Thanks @christophebedard! Failing tests on Windows seem unrelated. Could this move forward @sloretz?

@hidmic
Copy link
Contributor

hidmic commented May 5, 2025

@sloretz @christophebedard @fujitatomoya friendly ping.

@christophebedard
Copy link
Member

I'll update the branch and run CI again just to make sure. Then I'll merge it based on Shane's approval.

@christophebedard
Copy link
Member

@Mergifyio update

@mergify
Copy link
Contributor

mergify bot commented May 5, 2025

update

❌ Mergify doesn't have permission to update

For security reasons, Mergify can't update this pull request. Try updating locally.
GitHub response: refusing to allow a GitHub App to create or update workflow .github/workflows/check-copied-type-description-sources.yaml without workflows permission

@christophebedard
Copy link
Member

christophebedard commented May 5, 2025

Pulls: #857
Gist: https://gist.githubusercontent.com/christophebedard/46e34c7d0555cbae9876684e42664479/raw/db2cc394bbcb77ff87914985115d07de3aba69f5/ros2.repos
BUILD args:
TEST args:
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/15912

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

Copy link
Contributor

@fujitatomoya fujitatomoya left a comment

Choose a reason for hiding this comment

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

i do not really understand the details, just a couple of comments in general. both does not block this PR.

@fujitatomoya
Copy link
Contributor

@frneer @hidmic thanks for being patient on this.

@christophebedard should we restart the CI? it has been a day...

@hidmic
Copy link
Contributor

hidmic commented May 6, 2025

should we restart the CI? it has been a day...

I was going to ask. That'd be great.

@christophebedard
Copy link
Member

christophebedard commented May 6, 2025

I already re-triggered the Linux and Linux-rhel jobs this morning because they failed (infra-related). They should be starting soon ™️

@christophebedard
Copy link
Member

That was soon enough, both jobs are running now! Fingers crossed that they don't fail 🤞

@fujitatomoya
Copy link
Contributor

BTW, Linux-aarch64 and windows warnings are unrelated.

@hidmic
Copy link
Contributor

hidmic commented May 7, 2025

Network hiccup on RHEL?

@christophebedard
Copy link
Member

Yeah, it's the same infra flake that's been happening a lot lately. The RHEL job queue has 8 jobs currently, so running this would take a(nother) while. We could just merge this based on the fact that the 3 other jobs passed and that the RHEL job passed last time (#857 (comment)).

@fujitatomoya what do you think?

@fujitatomoya
Copy link
Contributor

  • Linux-rhel Build Status

last shot 🔫 btw, CI does not assign the unique build id when the job is in the queue. i think 2940 is ours.

@hidmic
Copy link
Contributor

hidmic commented May 9, 2025

@fujitatomoya @christophebedard @sloretz looks like another infra fluke on RHEL

@fujitatomoya
Copy link
Contributor

  • Linux-rhel Build Status

@hidmic let me try this again, i will keep my eyes on this during weekend. if that comes back green, i will go ahead to merge this.

@fujitatomoya
Copy link
Contributor

@fujitatomoya fujitatomoya merged commit c9a3084 into ros2:rolling May 11, 2025
3 checks passed
@hidmic
Copy link
Contributor

hidmic commented May 12, 2025

Amazing, thank you @fujitatomoya! Can we summon MergifyIO and backport to Jazzy? Tagging @christophebedard @sloretz too for completeness.

@fujitatomoya
Copy link
Contributor

@Mergifyio backport kilted jazzy

@mergify
Copy link
Contributor

mergify bot commented May 12, 2025

backport kilted jazzy

✅ Backports have been created

mergify bot added a commit that referenced this pull request May 12, 2025
* Add type description support to rosidl_cli

Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>

* Fix typing annotation

Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>

* Please flake8, mypy

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Please flake8 take 2

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

---------

Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Co-authored-by: Michel Hidalgo <michel@ekumenlabs.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Christophe Bedard <bedard.christophe@gmail.com>
(cherry picked from commit c9a3084)
mergify bot pushed a commit that referenced this pull request May 12, 2025
* Add type description support to rosidl_cli

Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>

* Fix typing annotation

Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>

* Please flake8, mypy

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Please flake8 take 2

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

---------

Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Co-authored-by: Michel Hidalgo <michel@ekumenlabs.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Christophe Bedard <bedard.christophe@gmail.com>
(cherry picked from commit c9a3084)

# Conflicts:
#	rosidl_cli/rosidl_cli/cli.py
#	rosidl_cli/rosidl_cli/command/generate/api.py
#	rosidl_cli/rosidl_cli/command/generate/extensions.py
#	rosidl_cli/rosidl_cli/command/helpers.py
fujitatomoya pushed a commit that referenced this pull request May 15, 2025
* rosidl_cli: Add type description support (#857)

* Add type description support to rosidl_cli

Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>

* Fix typing annotation

Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>

* Please flake8, mypy

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Please flake8 take 2

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

---------

Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Co-authored-by: Michel Hidalgo <michel@ekumenlabs.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Christophe Bedard <bedard.christophe@gmail.com>
(cherry picked from commit c9a3084)

# Conflicts:
#	rosidl_cli/rosidl_cli/cli.py
#	rosidl_cli/rosidl_cli/command/generate/api.py
#	rosidl_cli/rosidl_cli/command/generate/extensions.py
#	rosidl_cli/rosidl_cli/command/helpers.py

* Solve conflicts (#868)

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Please flake8 (#870)

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

---------

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Co-authored-by: Francisco Rossi <50388097+frneer@users.noreply.github.com>
Co-authored-by: Michel Hidalgo <michel@ekumenlabs.com>
fujitatomoya pushed a commit that referenced this pull request May 26, 2025
* Add type description support to rosidl_cli



* Fix typing annotation



* Please flake8, mypy



* Please flake8 take 2



---------






(cherry picked from commit c9a3084)

Signed-off-by: Francisco Rossi <frossi@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Co-authored-by: Francisco Rossi <50388097+frneer@users.noreply.github.com>
Co-authored-by: Michel Hidalgo <michel@ekumenlabs.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Christophe Bedard <bedard.christophe@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants