setup-ros icon indicating copy to clipboard operation
setup-ros copied to clipboard

Support snapshots repository

Open christophebedard opened this issue 3 years ago • 0 comments

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.

christophebedard avatar May 30 '21 16:05 christophebedard