Skip to content
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

refactor(docker): introduce rosdep-installed stage #4656

Closed

Conversation

youtalk
Copy link
Member

@youtalk youtalk commented Apr 24, 2024

Description

This PR introduces the rosdep-installed stage before the prebuilt stage to execute rosdep install only one time.

Tests performed

Not applicable.

Effects on system behavior

Not applicable.

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@youtalk youtalk force-pushed the rosdep-installed-stage branch from 4a73e1c to 7599c03 Compare April 24, 2024 05:07
@youtalk
Copy link
Member Author

youtalk commented Apr 24, 2024

The spell check failure will be fixed at tier4/autoware-spell-check-dict#716
Done.

@youtalk youtalk marked this pull request as ready for review April 24, 2024 06:38
@youtalk youtalk requested review from mitsudome-r and xmfcx April 24, 2024 06:41
@xmfcx xmfcx requested a review from oguzkaganozt April 24, 2024 07:39
@mitsudome-r
Copy link
Member

mitsudome-r commented Apr 24, 2024

@oguzkaganozt Did you have any reasons for running rosdep twice in prebuilt and runtime steps?
I just wanted to confirm if you had any intention when you did the refactoring.
Otherwise, the change looks reasonable to me.

@youtalk youtalk force-pushed the rosdep-installed-stage branch from 02801f3 to 7b53926 Compare April 24, 2024 08:25
@youtalk youtalk self-assigned this Apr 24, 2024
@doganulus
Copy link
Member

First, rosdep installs build dependencies for devel image.

Second, rosdep installs runtime (exec) dependencies for runtime image.

This separation is very important.

@youtalk
Copy link
Member Author

youtalk commented Apr 28, 2024

rosdep install does not provide an option to choose to install dependent packages based on exec_depend, build_depend, etc. All dependent packages including build_export_depend and test_depend will be installed.
This PR simply saves the waste of running the same rosdep install twice.

I am planning an apt package release of the Autoware packages. Once that is completed, we will be able to control the build and execution dependencies you mentioned.

@doganulus
Copy link
Member

doganulus commented Apr 29, 2024

This is the PR that adds the support to dependency key selection: ros-infrastructure/rosdep#789

And we can use:

rosdep install --dependency-types build
rosdep install --dependency-types exec

Whether build_depend and exec_depend tags are used correctly in packages is another question and how to ensure their correct usage but I am bringing it into your attention.

@youtalk
Copy link
Member Author

youtalk commented Apr 29, 2024

@doganulus Thank you for your feedback. I didn't know the option. Due to the rosdep install separation, I've closed this PR.

@youtalk youtalk closed this Apr 29, 2024
@youtalk youtalk deleted the rosdep-installed-stage branch April 29, 2024 21:20
@youtalk youtalk restored the rosdep-installed-stage branch May 16, 2024 13:48
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.

3 participants