setup-ros
setup-ros copied to clipboard
Support snapshots repository
Description
This would allow users to use a specific snapshot (i.e. a specific distro at a specific datestamp, or the "final" sync for EOL distros).
See:
- https://discourse.ros.org/t/announcing-ros-snapshot-repositories/7705
- http://wiki.ros.org/SnapshotRepository
Related Issues
-
Completion Criteria
Users can configure the action to use distros x & y at sync datestamps X & Y from the snapshots repository.
Implementation Notes / Suggestions
Add a new snapshots
input which is empty by default (current behaviour). Ignore the input/value if not on Ubuntu/Linux (or fail in that case?).
If the value is not empty, use the snapshots repository (http://snapshots.ros.org/${ROS_DISTRO}/${INPUT_SNAPSHOTS}/ubuntu
) instead of the usual one (http://packages.ros.org/ros2/ubuntu).
If only one distro is declared with required-ros-distributions
, use that value:
with:
required-ros-distributions: foxy
snapshots: 2021-01-07
If multiple distros are declared with required-ros-distributions
, expect a JSON object/dictionary:
with:
required-ros-distributions: noetic foxy
snapshots: |
{
"foxy": "2021-01-07",
"noetic": "2021-01-22"
}
This will require some input validation.
Testing Notes / Suggestions
A job that uses the snapshots
input once for a single distro and once for multiple distros/sync datestamps.
Unit tests for the snapshots
input validation.