Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 7 additions & 15 deletions .github/workflows/linux-arm64-build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,8 @@ jobs:
- docker_image: ubuntu:noble
ros_distribution: kilted
# Lyrical Luth (May 2026 - May 2031, beta)
# NOTE: the tarball URL below is a date-stamped beta snapshot and must
# be refreshed manually until upstream publishes a stable "latest"
# download (or until GA).
- docker_image: ubuntu:26.04
ros_distribution: lyrical
ros_tar_url: "https://github.com/ros2/ros2/releases/download/release-lyrical-beta-20260430/ros2-lyrical-2026-04-30-resolute-aarch64.tar.bz2"

steps:
- name: Setup Node.js ${{ matrix.node-version }} on ${{ matrix.architecture }}
Expand All @@ -64,26 +60,22 @@ jobs:
apt-get update
apt-get install -y software-properties-common curl

# Enable required repositories for the lyrical beta tarball; see:
# Enable required repositories per:
# https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
add-apt-repository universe
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}')
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"
dpkg -i /tmp/ros2-apt-source.deb
apt-get update
apt-get install -y build-essential cmake tar bzip2 python3 python3-rosdep python3-colcon-common-extensions
apt-get install -y build-essential cmake python3 python3-colcon-common-extensions

- name: Install ROS2 from binary tarball (lyrical)
- name: Install ROS2 from apt (lyrical)
if: ${{ matrix.ros_distribution == 'lyrical' }}
run: |
curl -sL "${{ matrix.ros_tar_url }}" -o /tmp/ros2-lyrical.tar.bz2
mkdir -p /opt/ros/lyrical
tar xf /tmp/ros2-lyrical.tar.bz2 --strip-components=1 -C /opt/ros/lyrical
rm /tmp/ros2-lyrical.tar.bz2

rosdep init || true
rosdep update
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"
# Per https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
apt-get install -y \
ros-lyrical-desktop \
ros-lyrical-test-msgs

- name: Install test-msgs and mrpt_msgs on Linux
if: ${{ matrix.ros_distribution != 'lyrical' }}
Expand Down
19 changes: 11 additions & 8 deletions .github/workflows/linux-x64-build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,8 @@ jobs:
- docker_image: ubuntu:noble
ros_distribution: kilted
# Lyrical Luth (May 2026 - May 2031, beta)
# NOTE: the tarball URL below is a date-stamped beta snapshot and must
# be refreshed manually until upstream publishes a stable "latest"
# download (or until GA), at which point it can be replaced with the
# stable URL similar to the rolling nightly redirect.
- docker_image: ubuntu:26.04
ros_distribution: lyrical
ros_tar_url: "https://github.com/ros2/ros2/releases/download/release-lyrical-beta-20260430/ros2-lyrical-2026-04-30-resolute-x86_64.tar.bz2"
# Rolling Ridley (No End-Of-Life) - migrated to Ubuntu 26.04 (resolute)
# to follow the Lyrical Luth target platform.
# See: https://docs.ros.org/en/jazzy/Releases/Release-Lyrical-Luth.html
Expand All @@ -72,7 +67,7 @@ jobs:
apt-get install -y software-properties-common curl

# Enable required repositories. The same setup applies to both the
# rolling nightly tarball and the lyrical beta tarball; see the
# rolling nightly tarball and the lyrical apt-deb install; see the
# per-distro install docs for reference:
# rolling: https://docs.ros.org/en/rolling/Installation/Alternatives/Ubuntu-Install-Binary.html
# lyrical: https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
Expand All @@ -83,8 +78,16 @@ jobs:
apt-get update
apt-get install -y build-essential cmake tar bzip2 python3 python3-rosdep python3-colcon-common-extensions

- name: Install ROS2 from binary tarball (rolling / lyrical)
if: ${{ matrix.ros_distribution == 'rolling' || matrix.ros_distribution == 'lyrical' }}
- name: Install ROS2 from apt (lyrical)
if: ${{ matrix.ros_distribution == 'lyrical' }}
run: |
# Per https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
apt-get install -y \
ros-lyrical-desktop \
ros-lyrical-test-msgs

- name: Install ROS2 from binary tarball (rolling)
if: ${{ matrix.ros_distribution == 'rolling' }}
run: |
# Extract binary tarball AFTER apt packages so its newer libs overwrite apt's older ones
curl -sL "${{ matrix.ros_tar_url }}" -o /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2
Expand Down
17 changes: 4 additions & 13 deletions .github/workflows/prebuild-linux-arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,9 @@ jobs:
ros_distribution: kilted
ubuntu_codename: noble
# Lyrical Luth (May 2026 - May 2031, beta)
# NOTE: the tarball URL below is a date-stamped beta snapshot and
# must be refreshed manually until upstream publishes a stable
# "latest" download (or until GA).
- docker_image: ubuntu:26.04
ros_distribution: lyrical
ubuntu_codename: resolute
ros_tar_url: "https://github.com/ros2/ros2/releases/download/release-lyrical-beta-20260430/ros2-lyrical-2026-04-30-resolute-aarch64.tar.bz2"

steps:
- name: Setup Node.js ${{ matrix.node-version }} on ${{ matrix.architecture }}
Expand All @@ -59,23 +55,18 @@ jobs:
run: |
apt-get update
apt-get install -y software-properties-common curl
# Per https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
add-apt-repository universe
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}')
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"
dpkg -i /tmp/ros2-apt-source.deb
apt-get update
apt-get install -y build-essential cmake tar bzip2 python3 python3-rosdep python3-colcon-common-extensions
apt-get install -y build-essential cmake python3

- name: Install ROS2 from binary tarball (lyrical)
- name: Install ROS2 from apt (lyrical)
if: ${{ matrix.ros_distribution == 'lyrical' }}
run: |
curl -sL "${{ matrix.ros_tar_url }}" -o /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2
mkdir -p /opt/ros/${{ matrix.ros_distribution }}
tar xf /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2 --strip-components=1 -C /opt/ros/${{ matrix.ros_distribution }}
rm /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2
rosdep init || true
rosdep update
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"
apt-get install -y ros-lyrical-desktop

- uses: actions/checkout@v6

Expand Down
17 changes: 4 additions & 13 deletions .github/workflows/prebuild-linux-x64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,9 @@ jobs:
ros_distribution: kilted
ubuntu_codename: noble
# Lyrical Luth (May 2026 - May 2031, beta)
# NOTE: the tarball URL below is a date-stamped beta snapshot and
# must be refreshed manually until upstream publishes a stable
# "latest" download (or until GA).
- docker_image: ubuntu:26.04
ros_distribution: lyrical
ubuntu_codename: resolute
ros_tar_url: "https://github.com/ros2/ros2/releases/download/release-lyrical-beta-20260430/ros2-lyrical-2026-04-30-resolute-x86_64.tar.bz2"

steps:
- name: Setup Node.js ${{ matrix.node-version }} on ${{ matrix.architecture }}
Expand All @@ -59,23 +55,18 @@ jobs:
run: |
apt-get update
apt-get install -y software-properties-common curl
# Per https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
add-apt-repository universe
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}')
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"
dpkg -i /tmp/ros2-apt-source.deb
apt-get update
apt-get install -y build-essential cmake tar bzip2 python3 python3-rosdep python3-colcon-common-extensions
apt-get install -y build-essential cmake python3

- name: Install ROS2 from binary tarball (lyrical)
- name: Install ROS2 from apt (lyrical)
if: ${{ matrix.ros_distribution == 'lyrical' }}
run: |
curl -sL "${{ matrix.ros_tar_url }}" -o /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2
mkdir -p /opt/ros/${{ matrix.ros_distribution }}
tar xf /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2 --strip-components=1 -C /opt/ros/${{ matrix.ros_distribution }}
rm /tmp/ros2-${{ matrix.ros_distribution }}.tar.bz2
rosdep init || true
rosdep update
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"
apt-get install -y ros-lyrical-desktop

- uses: actions/checkout@v6

Expand Down
Loading