-
Notifications
You must be signed in to change notification settings - Fork 811
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
Add industrial CI #492
Add industrial CI #492
Conversation
Ok, the first attempt failed (as I expected) because nav2 is not available as binaries.
Seems like there is a way to bring in other source packages. https://github.com/ros-industrial/industrial_ci/blob/master/doc/index.rst#workflow The best looking option is to depend on the vcs files here and the ones in nav2 |
Ok, the next commit was able to clone nav2 successfully, however it has errors that slam_toolbox isn't available. https://github.com/ANYbotics/grid_map/actions/runs/12074002040/job/33671191803?pr=492#step:4:261
The next thing to figure out is how to exclude rosdep keys. I suspect Nav2 has a skip list tracked here: https://github.com/ros-navigation/navigation2/blob/main/tools/skip_keys.txt I don't think we should get that list and parse it because NAV2 might move the file. |
If it builds ALL of nav2 (which is unnecessary), we would ideally only build the packages we need in the underlay. While For example, in the docs:
Edit: Yes, we should do this. The nav2 build takes 34 minutes:
|
Excellent! The addition of the ROS industrial CI was able to isolate the failure we have on the build farm that we didn't see in our CI! The workflow is SLOW though. I'd like to merge this as-is, and then do speed optimizations as a follow up. For speed optimizations, here's some options:
I don't want this to run every commit, or every time you push to PR because it's so slow. Next, I'm going to rebase this on top of #491 to see if the build is now stable. |
1e36760
to
70b701d
Compare
@Mergifyio rebase |
Signed-off-by: Ryan Friedman <[email protected]>
✅ Branch has been successfully rebased |
Signed-off-by: Ryan Friedman <[email protected]>
Signed-off-by: Ryan Friedman <[email protected]>
70b701d
to
9c1f6ff
Compare
@Mergifyio backport jazzy |
✅ Backports have been created
|
@Mergifyio backport iron |
✅ Backports have been created
|
@Mergifyio backport humble |
✅ Backports have been created
|
Add industrial CI * Bring nav2 in from source on rolling * Skip rosdep keys in nav2 that don't resolve Signed-off-by: Ryan Friedman <[email protected]> (cherry picked from commit c313843)
Add industrial CI * Bring nav2 in from source on rolling * Skip rosdep keys in nav2 that don't resolve Signed-off-by: Ryan Friedman <[email protected]> (cherry picked from commit c313843)
Add industrial CI * Bring nav2 in from source on rolling * Skip rosdep keys in nav2 that don't resolve Signed-off-by: Ryan Friedman <[email protected]> (cherry picked from commit c313843)
Add industrial CI * Bring nav2 in from source on rolling * Skip rosdep keys in nav2 that don't resolve Signed-off-by: Ryan Friedman <[email protected]> (cherry picked from commit c313843)
Add industrial CI * Bring nav2 in from source on rolling * Skip rosdep keys in nav2 that don't resolve Signed-off-by: Ryan Friedman <[email protected]> (cherry picked from commit c313843)
Add industrial CI * Bring nav2 in from source on rolling * Skip rosdep keys in nav2 that don't resolve Signed-off-by: Ryan Friedman <[email protected]> (cherry picked from commit c313843)
Add industrial CI * Bring nav2 in from source on rolling * Skip rosdep keys in nav2 that don't resolve Signed-off-by: Ryan Friedman <[email protected]> (cherry picked from commit c313843)
Add industrial CI * Bring nav2 in from source on rolling * Skip rosdep keys in nav2 that don't resolve Signed-off-by: Ryan Friedman <[email protected]> (cherry picked from commit c313843) Co-authored-by: Ryan <[email protected]>
Add industrial CI * Bring nav2 in from source on rolling * Skip rosdep keys in nav2 that don't resolve Signed-off-by: Ryan Friedman <[email protected]> (cherry picked from commit c313843) Co-authored-by: Ryan <[email protected]>
Add industrial CI * Bring nav2 in from source on rolling * Skip rosdep keys in nav2 that don't resolve Signed-off-by: Ryan Friedman <[email protected]> (cherry picked from commit c313843) Co-authored-by: Ryan <[email protected]>
Purpose
Add the ROS industrial CI which supposedly can help find missing dependencies earlier in a more minimal test environment.
Details
We currently use
rostooling/setup-ros-docker:ubuntu-noble-ros-rolling-desktop-latest
as an image, which contains all dependencies.If we forget dependencies in the package.xml, our CI passes, but the jenkins CI fails.
From what I have read, ros-industrial can solve that.
Let's see if this can reproduce any test failures we have on the jenkins build farm.