Skip to content

Commit ee15da6

Browse files
committed
[Lyrical] Install from apt-deb repo instead of dated tarball
1 parent 128faf6 commit ee15da6

4 files changed

Lines changed: 26 additions & 49 deletions

File tree

.github/workflows/linux-arm64-build-and-test.yml

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,8 @@ jobs:
3838
- docker_image: ubuntu:noble
3939
ros_distribution: kilted
4040
# Lyrical Luth (May 2026 - May 2031, beta)
41-
# NOTE: the tarball URL below is a date-stamped beta snapshot and must
42-
# be refreshed manually until upstream publishes a stable "latest"
43-
# download (or until GA).
4441
- docker_image: ubuntu:26.04
4542
ros_distribution: lyrical
46-
ros_tar_url: "https://github.com/ros2/ros2/releases/download/release-lyrical-beta-20260430/ros2-lyrical-2026-04-30-resolute-aarch64.tar.bz2"
4743

4844
steps:
4945
- name: Setup Node.js ${{ matrix.node-version }} on ${{ matrix.architecture }}
@@ -64,26 +60,22 @@ jobs:
6460
apt-get update
6561
apt-get install -y software-properties-common curl
6662
67-
# Enable required repositories for the lyrical beta tarball; see:
63+
# Enable required repositories per:
6864
# https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
6965
add-apt-repository universe
7066
ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F'"' '{print $4}')
7167
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb"
7268
dpkg -i /tmp/ros2-apt-source.deb
7369
apt-get update
74-
apt-get install -y build-essential cmake tar bzip2 python3 python3-rosdep python3-colcon-common-extensions
70+
apt-get install -y build-essential cmake python3 python3-colcon-common-extensions
7571
76-
- name: Install ROS2 from binary tarball (lyrical)
72+
- name: Install ROS2 from apt (lyrical)
7773
if: ${{ matrix.ros_distribution == 'lyrical' }}
7874
run: |
79-
curl -sL "${{ matrix.ros_tar_url }}" -o /tmp/ros2-lyrical.tar.bz2
80-
mkdir -p /opt/ros/lyrical
81-
tar xf /tmp/ros2-lyrical.tar.bz2 --strip-components=1 -C /opt/ros/lyrical
82-
rm /tmp/ros2-lyrical.tar.bz2
83-
84-
rosdep init || true
85-
rosdep update
86-
rosdep install --rosdistro lyrical --from-paths /opt/ros/lyrical/share --ignore-src -y --skip-keys "cyclonedds fastcdr fastdds iceoryx_binding_c rmw_connextdds rti-connext-dds-7.3.0 rti-connext-dds-7.7.0 urdfdom_headers python3-pyqt6.qtsvg rosidl_buffer_py pybind11"
75+
# Per https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
76+
apt-get install -y \
77+
ros-lyrical-desktop \
78+
ros-lyrical-test-msgs
8779
8880
- name: Install test-msgs and mrpt_msgs on Linux
8981
if: ${{ matrix.ros_distribution != 'lyrical' }}

.github/workflows/linux-x64-build-and-test.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,8 @@ jobs:
3939
- docker_image: ubuntu:noble
4040
ros_distribution: kilted
4141
# Lyrical Luth (May 2026 - May 2031, beta)
42-
# NOTE: the tarball URL below is a date-stamped beta snapshot and must
43-
# be refreshed manually until upstream publishes a stable "latest"
44-
# download (or until GA), at which point it can be replaced with the
45-
# stable URL similar to the rolling nightly redirect.
4642
- docker_image: ubuntu:26.04
4743
ros_distribution: lyrical
48-
ros_tar_url: "https://github.com/ros2/ros2/releases/download/release-lyrical-beta-20260430/ros2-lyrical-2026-04-30-resolute-x86_64.tar.bz2"
4944
# Rolling Ridley (No End-Of-Life) - migrated to Ubuntu 26.04 (resolute)
5045
# to follow the Lyrical Luth target platform.
5146
# See: https://docs.ros.org/en/jazzy/Releases/Release-Lyrical-Luth.html
@@ -72,7 +67,7 @@ jobs:
7267
apt-get install -y software-properties-common curl
7368
7469
# Enable required repositories. The same setup applies to both the
75-
# rolling nightly tarball and the lyrical beta tarball; see the
70+
# rolling nightly tarball and the lyrical apt-deb install; see the
7671
# per-distro install docs for reference:
7772
# rolling: https://docs.ros.org/en/rolling/Installation/Alternatives/Ubuntu-Install-Binary.html
7873
# lyrical: https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
@@ -83,8 +78,16 @@ jobs:
8378
apt-get update
8479
apt-get install -y build-essential cmake tar bzip2 python3 python3-rosdep python3-colcon-common-extensions
8580
86-
- name: Install ROS2 from binary tarball (rolling / lyrical)
87-
if: ${{ matrix.ros_distribution == 'rolling' || matrix.ros_distribution == 'lyrical' }}
81+
- name: Install ROS2 from apt (lyrical)
82+
if: ${{ matrix.ros_distribution == 'lyrical' }}
83+
run: |
84+
# Per https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
85+
apt-get install -y \
86+
ros-lyrical-desktop \
87+
ros-lyrical-test-msgs
88+
89+
- name: Install ROS2 from binary tarball (rolling)
90+
if: ${{ matrix.ros_distribution == 'rolling' }}
8891
run: |
8992
# Extract binary tarball AFTER apt packages so its newer libs overwrite apt's older ones
9093
curl -sL "${{ matrix.ros_tar_url }}" -o /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2

.github/workflows/prebuild-linux-arm64.yml

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,9 @@ jobs:
3333
ros_distribution: kilted
3434
ubuntu_codename: noble
3535
# Lyrical Luth (May 2026 - May 2031, beta)
36-
# NOTE: the tarball URL below is a date-stamped beta snapshot and
37-
# must be refreshed manually until upstream publishes a stable
38-
# "latest" download (or until GA).
3936
- docker_image: ubuntu:26.04
4037
ros_distribution: lyrical
4138
ubuntu_codename: resolute
42-
ros_tar_url: "https://github.com/ros2/ros2/releases/download/release-lyrical-beta-20260430/ros2-lyrical-2026-04-30-resolute-aarch64.tar.bz2"
4339

4440
steps:
4541
- name: Setup Node.js ${{ matrix.node-version }} on ${{ matrix.architecture }}
@@ -59,23 +55,18 @@ jobs:
5955
run: |
6056
apt-get update
6157
apt-get install -y software-properties-common curl
58+
# Per https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
6259
add-apt-repository universe
6360
ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F'"' '{print $4}')
6461
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb"
6562
dpkg -i /tmp/ros2-apt-source.deb
6663
apt-get update
67-
apt-get install -y build-essential cmake tar bzip2 python3 python3-rosdep python3-colcon-common-extensions
64+
apt-get install -y build-essential cmake python3
6865
69-
- name: Install ROS2 from binary tarball (lyrical)
66+
- name: Install ROS2 from apt (lyrical)
7067
if: ${{ matrix.ros_distribution == 'lyrical' }}
7168
run: |
72-
curl -sL "${{ matrix.ros_tar_url }}" -o /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2
73-
mkdir -p /opt/ros/${{ matrix.ros_distribution }}
74-
tar xf /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2 --strip-components=1 -C /opt/ros/${{ matrix.ros_distribution }}
75-
rm /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2
76-
rosdep init || true
77-
rosdep update
78-
rosdep install --rosdistro ${{ matrix.ros_distribution }} --from-paths /opt/ros/${{ matrix.ros_distribution }}/share --ignore-src -y --skip-keys "cyclonedds fastcdr fastdds iceoryx_binding_c rmw_connextdds rti-connext-dds-7.3.0 rti-connext-dds-7.7.0 urdfdom_headers python3-pyqt6.qtsvg rosidl_buffer_py pybind11"
69+
apt-get install -y ros-lyrical-desktop
7970
8071
- uses: actions/checkout@v6
8172

.github/workflows/prebuild-linux-x64.yml

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,9 @@ jobs:
3333
ros_distribution: kilted
3434
ubuntu_codename: noble
3535
# Lyrical Luth (May 2026 - May 2031, beta)
36-
# NOTE: the tarball URL below is a date-stamped beta snapshot and
37-
# must be refreshed manually until upstream publishes a stable
38-
# "latest" download (or until GA).
3936
- docker_image: ubuntu:26.04
4037
ros_distribution: lyrical
4138
ubuntu_codename: resolute
42-
ros_tar_url: "https://github.com/ros2/ros2/releases/download/release-lyrical-beta-20260430/ros2-lyrical-2026-04-30-resolute-x86_64.tar.bz2"
4339

4440
steps:
4541
- name: Setup Node.js ${{ matrix.node-version }} on ${{ matrix.architecture }}
@@ -59,23 +55,18 @@ jobs:
5955
run: |
6056
apt-get update
6157
apt-get install -y software-properties-common curl
58+
# Per https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
6259
add-apt-repository universe
6360
ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F'"' '{print $4}')
6461
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb"
6562
dpkg -i /tmp/ros2-apt-source.deb
6663
apt-get update
67-
apt-get install -y build-essential cmake tar bzip2 python3 python3-rosdep python3-colcon-common-extensions
64+
apt-get install -y build-essential cmake python3
6865
69-
- name: Install ROS2 from binary tarball (lyrical)
66+
- name: Install ROS2 from apt (lyrical)
7067
if: ${{ matrix.ros_distribution == 'lyrical' }}
7168
run: |
72-
curl -sL "${{ matrix.ros_tar_url }}" -o /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2
73-
mkdir -p /opt/ros/${{ matrix.ros_distribution }}
74-
tar xf /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2 --strip-components=1 -C /opt/ros/${{ matrix.ros_distribution }}
75-
rm /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2
76-
rosdep init || true
77-
rosdep update
78-
rosdep install --rosdistro ${{ matrix.ros_distribution }} --from-paths /opt/ros/${{ matrix.ros_distribution }}/share --ignore-src -y --skip-keys "cyclonedds fastcdr fastdds iceoryx_binding_c rmw_connextdds rti-connext-dds-7.3.0 rti-connext-dds-7.7.0 urdfdom_headers python3-pyqt6.qtsvg rosidl_buffer_py pybind11"
69+
apt-get install -y ros-lyrical-desktop
7970
8071
- uses: actions/checkout@v6
8172

0 commit comments

Comments
 (0)