Skip to content

Support rosdep check without skipping rosdep install #988

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

matlabbe
Copy link
Contributor

@matlabbe matlabbe commented Jun 9, 2025

I have an issue when testing my package on new ROS distros if some dependencies are not yet released, action-ros-ci action doesn't fail when rosdep says:
ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies:

In the code, rosdep install uses -r option, meaning "Continue installing despite errors.":

# suppress errors from unresolved install keys to preserve backwards compatibility
# due to difficulty reading names of some non-catkin dependencies in the ros2 core
# see https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Development-Setup/#install-dependencies-using-rosdep
rosdep install -r --from-paths $package_paths --ignore-src --skip-keys "rti-connext-dds-5.3.1 rti-connext-dds-6.0.1 rti-connext-dds-7.3.0 ${filterNonEmptyJoin(

My current workaround is to remove skip-rosdep-install requirement to use rosdep-check option.

Related to this PR: #830

@matlabbe matlabbe requested a review from a team as a code owner June 9, 2025 02:40
@matlabbe matlabbe requested review from emersonknapp and MichaelOrlov and removed request for a team June 9, 2025 02:40
matlabbe added 8 commits June 8, 2025 19:41
Signed-off-by: matlabbe <[email protected]>
Signed-off-by: matlabbe <[email protected]>
Signed-off-by: matlabbe <[email protected]>
Signed-off-by: matlabbe <[email protected]>
Signed-off-by: matlabbe <[email protected]>
Signed-off-by: matlabbe <[email protected]>
@matlabbe matlabbe force-pushed the support_rosdep_check_without_skipping branch from 41b7321 to 906c194 Compare June 9, 2025 02:41
Copy link
Member

@christophebedard christophebedard left a comment

Choose a reason for hiding this comment

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

Merci for the PR!

The -r option for rosdep install has been used since the very beginning. Since rosdep install installs one dependency at a time, I thought that the -r option made it keep installing dependencies instead of stopping right away if a dependency can't be found or if there are errors when installing it. And I thought that it would still fail if there were any errors (see also #957). However, it does seem like -r prevents it from exiting with a non-zero code.

I think -r is used to try to avoid flakiness when installing dependencies. At one point, GitHub CI used some kind of Azure-hosted Ubuntu package mirror, which regularly failed (ros-tooling/setup-ros#25). However, I don't think that's the case anymore, and it hides actual issues, as you said. We should consider eventually removing -r, but this PR makes sense on its own, so I think we can proceed.

@christophebedard christophebedard merged commit ce2df62 into ros-tooling:main Jun 9, 2025
27 checks passed
@christophebedard
Copy link
Member

Released as 0.4.4/v0.4.

@matlabbe matlabbe deleted the support_rosdep_check_without_skipping branch June 10, 2025 03:05
@matlabbe
Copy link
Contributor Author

Thank you for the fast review, I saw the -r was there since the beginning, so I preferred to play safe with the option instead. :)

Cordialement

mosfet80 pushed a commit to mosfet80/action-ros-ci that referenced this pull request Jun 25, 2025
mosfet80 added a commit to mosfet80/action-ros-ci that referenced this pull request Jun 25, 2025
switch to the oldest supported ros2 (humble) ->ros-tutorial 1.4.2

Signed-off-by: Andrea <[email protected]>
Signed-off-by: mosFet <[email protected]>

Support rosdep check without skipping rosdep install (ros-tooling#988)

Signed-off-by: matlabbe <[email protected]>
Signed-off-by: mosFet <[email protected]>

0.4.4

Signed-off-by: Christophe Bedard <[email protected]>
Signed-off-by: mosFet <[email protected]>

Update ros_tutorials.repos

Signed-off-by: mosFet <[email protected]>

Update ros_tutorials.repos

Signed-off-by: mosFet <[email protected]>
mosfet80 added a commit to mosfet80/action-ros-ci that referenced this pull request Jun 25, 2025
switch to the oldest supported ros2 (humble) ->ros-tutorial 1.4.2

Signed-off-by: Andrea <[email protected]>
Signed-off-by: mosFet <[email protected]>

Support rosdep check without skipping rosdep install (ros-tooling#988)

Signed-off-by: matlabbe <[email protected]>
Signed-off-by: mosFet <[email protected]>

0.4.4

Signed-off-by: Christophe Bedard <[email protected]>
Signed-off-by: mosFet <[email protected]>

Update ros_tutorials.repos

Signed-off-by: mosFet <[email protected]>

Update ros_tutorials.repos

Signed-off-by: mosFet <[email protected]>
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.

2 participants