Run CI on official ROS docker images #649
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Public Changes
None
Description
Replace existing CI setup based on
ros-tooling/setup-ros
. CI now runs inside the official ROS docker image.This makes CI run in about half the time (3 minutes faster). Unfortunately, it does not solve #640, because both ros-base (minimal distribution) and ros-core (even more minimal distribution with no dev tools) both still install packages like
sensor_msgs
by default.An alternative approach would be to keep
ros-tooling/setup-ros
but removerequired-ros-distributions
. This does correctly fail some of the issues described in #640 (it catches the missingtest_depend
but not the missingbuildtool_depend
). This approach is slightly faster (shaves ~1 minute off CI).I'm not sure what other options we have here to replicate the failures seen on the ROS build farm. I think this PR is worth landing since it significantly speeds up CI. But maybe the alternative approach is safer (though slower?).
cc @jtbandes for thoughts