-
Notifications
You must be signed in to change notification settings - Fork 523
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
fix humble Dockerfiles - use humble, not rolling #2035
Conversation
Please target the |
@adlarkin Thank you for the PR. It defaults to rolling but is overridden by CI to humble so there should be nothing wrong with the dockerfiles. See https://github.com/ros-planning/moveit2/blob/main/.github/workflows/docker.yaml#L52. Is there any specific error you have encountered? |
Thanks for pointing me to this, I did not see that originally. I took a closer look, and found that if I 1) pulled each of the moveit humble Docker images, 2) started a container, and then 3) ran
I also verified that the So, it appears that using the @vatanaksoytezer hopefully everything I have explained here makes sense, but if not, feel free to ask any questions you may have. It seems like we should address the (@henningkayser you may want to take a look at the conversation being had here since you have some background context with #1994) |
I haven't fully dug into this yet, but isn't the real problem that we are building humble images with our main job as well? I will look into this tomorrow to fully understand what's going on here. |
I don't think that should be the problem - when humble images are being built with the main job, the corresponding Dockerfile's Perhaps I am wrong, but that's how I understand things at the moment. Thanks for taking the time to look into it - let me know if you have any questions, or if there's anything else I can do to help! |
@adlarkin very good catch! I think we need to start creating our own testing images again (maybe even from scratch), since osrf ones hardcoded and unavailable for humble. I would say nightly images might be a good start. Just copying https://github.com/osrf/docker_images/blob/master/ros2/testing/testing/Dockerfile and changing it to humble should be good enough. |
I just had a brief look at the testing image again. It's just setting an env variable for ROS_DISTRO, but it doesn't install anything specific to rolling as far as I see. We are installing all the ROS basics in our own image. Can't we just switch the env variable first thing in our docker image? |
Ok, so the issue really seems to be that testing is setting this ROS_DISTRO env variable only for running rosdep update. Nothing related to rolling is installed in the first place. The env variable takes precedence over our ROS_DISTRO arg here https://github.com/ros-planning/moveit2/blob/main/.docker/ci-testing/Dockerfile#L4 so our testing install is using |
17a0ba2
to
5bc31eb
Compare
This pull request is in conflict. Could you fix it @adlarkin? |
Signed-off-by: Ashton Larkin <[email protected]>
a13d28e
to
e38be1d
Compare
Thanks @henningkayser; I found the following statement in https://docs.docker.com/engine/reference/builder/#using-arg-variables which appears to describe the issue we're facing here:
Combining the documentation stated above along with what's stated in https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact, I came up with a potential solution for the
I also updated this PR to target |
Codecov ReportPatch coverage has no change and project coverage change:
Additional details and impacted files@@ Coverage Diff @@
## main #2035 +/- ##
==========================================
- Coverage 50.89% 50.84% -0.05%
==========================================
Files 391 391
Lines 32142 32142
==========================================
- Hits 16357 16339 -18
- Misses 15785 15803 +18 see 3 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
Hey @vatanaksoytezer, thanks for approving this PR. I am trying to understand when the updated docker images will actually be built and ready to be pulled from by downstream users - looking at https://github.com/ros-planning/moveit2/blob/main/.github/workflows/docker.yaml#L8-L10, does this mean that new docker builds will be triggered once this PR is merged into main? The MoveIt 2 tutorial humble docker image depends on this PR (moveit/moveit2_tutorials#646), so I would like to get this image built soon so that the tutorial image can updated as well. |
That is correct. I will merge now. |
Increase priority for constrained planning state space (moveit#1300) * Change priority for the constrained planning state space * Fix constrained planning tests * Use PRM instead of RRTConnect --------- Co-authored-by: Sebastian Jahr <[email protected]> Remove "new" from smart pointer instantiation (moveit#2019) Temporarily disable TestPathConstraints with the Panda robot (moveit#2016) This test has become flaky since it was modified to use the OMPL constrained state space (moveit#2015). Fix mimic joints with TOTG (moveit#1989) Fix include install destination (moveit#2008) Co-authored-by: Henning Kayser <[email protected]> Co-authored-by: Tyler Weaver <[email protected]> Ruckig-smoothing : reduce number of duration extensions (moveit#1990) * extend duration only for failed segment * update comment * Remove trajectory reset before extension * readability improvement * Remove call to RobotState update --------- Co-authored-by: ibrahiminfinite <ibrahimjkd@@gmail.com> Co-authored-by: AndyZe <[email protected]> Add stale GHA (moveit#2022) * Issues and PRs are labeled as stale after 45 days. * Stale issues are closed after another 45 days. Enable workflow_dispatch for stale GHA Remove invalid description field in GHA Add callback for velocity scaling override + fix params namespace not being set (moveit#2021) Fix python tests (moveit#1979) * ensure joint models in robot_model submodule * add build tests Upgrade apt dependencies --with-new-pkgs (moveit#2039) 2.7.1 🛠️ Bump actions/stale from 7 to 8 (moveit#2037) Allow ci-testing Dockerfile to update the ROS_DISTRO (moveit#2035) Move displaced launch file into planning_component_tools (moveit#2044) Delete the Ruckig "batches" option, deprecated by moveit#1990 (moveit#2028) Added set_robot_trajectory_msg to python bindings (moveit#2050) Use $DISPLAY rather than assuming :0 (moveit#2049) * Use $DISPLAY rather than assuming : * Double quotes --------- Co-authored-by: Sebastian Jahr <[email protected]> Optionally mitigate Ruckig overshoot (moveit#2051) * Optionally mitigate Ruckig overshoot * Cleanup Update description of moveit_ros_planning_interface (moveit#2045) * Update description of moveit_ros_planning_interface * Update moveit_ros/planning_interface/package.xml Co-authored-by: Henning Kayser <[email protected]> --------- Co-authored-by: Henning Kayser <[email protected]> Add URDF Loader Exceptions and Fix Infinite While-Loop when URDF file isn't in a ROS Package (moveit#2032) * Fixed infinite while loop in utilities.cpp and added some exception handling to start screen widget * Fix trailing whitespace, fix getSharePath exception catch on empty request * Fix clang tidy suggestion and error message updates based on pr comments [hybrid planning] improve planning scene monitoring (moveit#1090) * Create new PSM in local constraint solver. Different type of collision checking. * Small boolean logic fixup * Don't configure planning scene monitor twice and pass scene as const * Remove not required call of updateSceneWithCurrentState() * Revert PlanningSceneMonitorConstPtr to PlanningSceneMonitorPtr * Set planning_scene_monitor update rate * Decrease planning scene update rate * Use `updateSceneWithCurrentState()` in psm * Revert the manner of collision checking --------- Co-authored-by: Sebastian Jahr <[email protected]> Document how collision checking includes descendent links (moveit#2058) Move stateless PlanningScene helper functions out of the class (moveit#2025) Readability: kinematic_state -> robot_state (moveit#2078) moveit_py citation (moveit#2029) Extract parallel planning from moveit cpp (moveit#2043) * Add parallel_planning_interface * Add parallel planning interface * Rename package to pipeline_planning_interface * Move plan_responses_container into own header + source file * Add plan_responses_contrainer source file * Add solution selection and stopping criterion function files * Remove parallel planning from moveit_cpp * Move parallel planning into planning package * Update moveit_cpp * Drop planning_interface changes * Add documentation * Update other moveit packages * Remove removed header * Address CI complains * Address clang-tidy complains * Address clang-tidy complains 2 * Address clang-tidy complains 3 * Extract planning pipeline map creation function from moveit_cpp * Cleanup comment * Use const moveit::core::RobotModelConstPtr& * Formatting * Add header descriptions * Remove superfluous TODOs * Cleanup PILZ: Throw if IK solver doesn't exist (moveit#2082) * Throw if IK solver doesn't exist * Format enabled -wformat (moveit#2065) Co-authored-by: Sebastian Jahr <[email protected]> Add test and debug issue where TOTG returns accels > limit (moveit#2084) lint fix lint fix 1 lint fix 2 lint fix 3
Description
The humble Dockerfiles had the ROS distro set to rolling, causing issues in downstream repositories (for example, CI on moveit/moveit2_tutorials#644 would fail since there's a mismatch of ROS versions when trying to build the tutorials). This PR fixes the ROS version for the humble Dockerfiles, hopefully resolving any unexpected errors for users of these Dockerfiles as well.Edit: The
ci-testing
Dockerfile usesosrf/ros2:testing
as its base image. This base image has theROS_DISTRO
environment variable set to rolling. This PR updates theci-testing
Dockerfile to allow overwriting of the base image'sROS_DISTRO
environment variable, so that theci-testing
can properly build both humble and rolling docker images (before this PR,humble-ci-testing
images actually had rolling installed on them). This also fixes thehumble-source
images being built, since thesource
images useci-testing
as its base image.Checklist