ros-tooling / setup-ros

Github Action to set up ROS 2 on hosts
Apache License 2.0
85 stars 39 forks source link

Prefer system packages over pip packages for Linux #593

Closed christophebedard closed 1 year ago

christophebedard commented 1 year ago

Closes #535

This updates the list of installed packages on Linux to match the installation instructions, which are all pretty much the same for Humble, Iron, and Rolling, which are all currently on Ubuntu 22.04:

Note that we used to install a lot of packages using pip. Some of those are included in ros-dev-tools with apt, and others were simply changed to be installed with apt instead of pip (like python3-colcon-*), but some were left out. While we could keep some of them, we can also just let rosdep install them if they're really needed (by action-ros-ci).

Everything stays the same for non-Linux platforms and Focal/non-Jammy.

Finally, I did some cleanup and removed old workarounds/comments that don't really apply anymore.

Once this is merged, I'll bump the minor version (v0.6 -> v0.7).

codecov[bot] commented 1 year ago

Codecov Report

Patch coverage: 89.65% and project coverage change: -0.71 :warning:

Comparison is base (e8569de) 93.18% compared to head (d975c7b) 92.47%.

:exclamation: Current head d975c7b differs from pull request most recent head d47b718. Consider uploading reports for the commit d47b718 to get more accurate results

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #593 +/- ## ========================================== - Coverage 93.18% 92.47% -0.71% ========================================== Files 8 8 Lines 176 186 +10 Branches 17 22 +5 ========================================== + Hits 164 172 +8 - Misses 12 14 +2 ``` | [Impacted Files](https://app.codecov.io/gh/ros-tooling/setup-ros/pull/593?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ros-tooling) | Coverage Δ | | |---|---|---| | [src/package\_manager/pip.ts](https://app.codecov.io/gh/ros-tooling/setup-ros/pull/593?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ros-tooling#diff-c3JjL3BhY2thZ2VfbWFuYWdlci9waXAudHM=) | `94.44% <85.71%> (-5.56%)` | :arrow_down: | | [src/setup-ros-linux.ts](https://app.codecov.io/gh/ros-tooling/setup-ros/pull/593?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ros-tooling#diff-c3JjL3NldHVwLXJvcy1saW51eC50cw==) | `96.15% <90.47%> (-1.58%)` | :arrow_down: | | [src/package\_manager/apt.ts](https://app.codecov.io/gh/ros-tooling/setup-ros/pull/593?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ros-tooling#diff-c3JjL3BhY2thZ2VfbWFuYWdlci9hcHQudHM=) | `93.75% <100.00%> (ø)` | |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

christophebedard commented 1 year ago

I'll bump the minor version when releasing this, but it probably needs to be tested manually with real repos first.

christophebedard commented 1 year ago

I'll bump the minor version when releasing this, but it probably needs to be tested manually with real repos first.

Seems to work fine. In the above PR, I removed the workaround (using pip to pin mypy to the version available from apt) and there are no mypy test failures, as expected.