ros-tooling / setup-ros

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

Detect and use latest binary releases on Windows & macOS #453

Open christophebedard opened 3 years ago

christophebedard commented 3 years ago

Description

We currently hardcode paths to Windows binary release archives and have to update the paths manually when new distros/distro patches are released: https://github.com/ros-tooling/setup-ros/blob/c4e8165ee5518c04dc4588bff7c1028ccf563e6f/src/setup-ros-windows.ts#L9-L17

setup-ros could try to automatically detect and use the latest binary release for a given distro.

Related Issues

This feature request includes macOS assuming that this related feature is implemented: #107

Completion Criteria

Implementation Notes / Suggestions

See https://github.com/ros-tooling/setup-ros/pull/450#issuecomment-928146113

We could fetch releases using the GitHub API and check the tags. The tag format is always release-$DISTRO-YYYYMMDD. Then we check the assets and pick the one for a given platform. This part might be a bit trickier, but it should work.

Testing Notes / Suggestions

jacobperron commented 2 years ago

Would you consider also adding support for "rolling" by grabbing the latest nightly artifacts from ci.ros2.org? Namely:

They are technically ahead of Rolling, since they are the latest from-source builds.

christophebedard commented 2 years ago

Oh yeah that's a good idea!

They are technically ahead of Rolling, since they are the latest from-source builds.

if it's the only way to get Rolling binaries for those platforms, it's fine. We can just document it.

jacobperron commented 2 years ago

Also, we should note that those artifacts I linked are only for the "core" packages listed in this repos file.