Skip to content

[ros] add ROS Lyrical beta images#21417

Merged
tianon merged 1 commit into
docker-library:masterfrom
ros-infrastructure:add_lyrical_testing
May 8, 2026
Merged

[ros] add ROS Lyrical beta images#21417
tianon merged 1 commit into
docker-library:masterfrom
ros-infrastructure:add_lyrical_testing

Conversation

@mikaelarguedas

Copy link
Copy Markdown
Contributor

This PR is to create a first version of the docker images for the ROS Lyrical release (the next LTS version of ROS)

The official release will take place on May 23rd at which point a new PR updating the Dockerfiles and the latest tag will be made

Cross-referencing:
osrf/docker_images#877
https://discourse.openrobotics.org/t/lyrical-luth-test-and-tutorial-party-instructions/54427

Signed-off-by: Mikael Arguedas <mikael.arguedas@gmail.com>
@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown
Diff for 8fe5687:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index 9208c93..458fd2e 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -46,6 +46,21 @@ Architectures: amd64, arm64v8
 GitCommit: eb5634cf92ba079897e44fb7541d3b78aa6cf717
 Directory: ros/kilted/ubuntu/noble/ros-core
 
+Tags: lyrical-perception, lyrical-perception-resolute
+Architectures: amd64, arm64v8
+GitCommit: 0d65786f3d9bb10d55dc28ccd5b87da204240d1a
+Directory: ros/lyrical/ubuntu/resolute/perception
+
+Tags: lyrical-ros-base, lyrical-ros-base-resolute, lyrical
+Architectures: amd64, arm64v8
+GitCommit: 0d65786f3d9bb10d55dc28ccd5b87da204240d1a
+Directory: ros/lyrical/ubuntu/resolute/ros-base
+
+Tags: lyrical-ros-core, lyrical-ros-core-resolute
+Architectures: amd64, arm64v8
+GitCommit: 0d65786f3d9bb10d55dc28ccd5b87da204240d1a
+Directory: ros/lyrical/ubuntu/resolute/ros-core
+
 Tags: rolling-perception, rolling-perception-noble
 Architectures: amd64, arm64v8
 GitCommit: 8cf2903c0f8813aacd3042c71d4d2d56d5068ad5
diff --git a/_bashbrew-list b/_bashbrew-list
index 1021fd8..b1ab992 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -20,6 +20,13 @@ ros:kilted-ros-base-noble
 ros:kilted-ros-core
 ros:kilted-ros-core-noble
 ros:latest
+ros:lyrical
+ros:lyrical-perception
+ros:lyrical-perception-resolute
+ros:lyrical-ros-base
+ros:lyrical-ros-base-resolute
+ros:lyrical-ros-core
+ros:lyrical-ros-core-resolute
 ros:rolling
 ros:rolling-perception
 ros:rolling-perception-noble
diff --git a/_bashbrew-list-build-order b/_bashbrew-list-build-order
index 7a5ec39..8bd8a38 100644
--- a/_bashbrew-list-build-order
+++ b/_bashbrew-list-build-order
@@ -2,11 +2,14 @@ ros:humble-ros-core-jammy
 ros:jazzy-ros-core-noble
 ros:kilted-ros-core-noble
 ros:latest
+ros:lyrical-ros-core-resolute
 ros:rolling-ros-core-noble
 ros:humble
 ros:humble-perception-jammy
 ros:jazzy-perception-noble
 ros:kilted
 ros:kilted-perception-noble
+ros:lyrical
+ros:lyrical-perception-resolute
 ros:rolling
 ros:rolling-perception-noble
diff --git a/ros_humble-perception-jammy/Dockerfile b/ros_lyrical-perception-resolute/Dockerfile
similarity index 77%
copy from ros_humble-perception-jammy/Dockerfile
copy to ros_lyrical-perception-resolute/Dockerfile
index 80f0e22..6bea025 100644
--- a/ros_humble-perception-jammy/Dockerfile
+++ b/ros_lyrical-perception-resolute/Dockerfile
@@ -1,9 +1,9 @@
 # This is an auto generated Dockerfile for ros:perception
 # generated from docker_images_ros2/create_ros_image.Dockerfile.em
-FROM ros:humble-ros-base-jammy
+FROM ros:lyrical-ros-base-resolute
 
 # install ros2 packages
 RUN apt-get update && apt-get install -y --no-install-recommends \
-    ros-humble-perception=0.10.0-1* \
+    ros-lyrical-perception=0.13.0-3* \
     && rm -rf /var/lib/apt/lists/*
 
diff --git a/ros_jazzy-ros-core-noble/Dockerfile b/ros_lyrical-ros-core-resolute/Dockerfile
similarity index 64%
copy from ros_jazzy-ros-core-noble/Dockerfile
copy to ros_lyrical-ros-core-resolute/Dockerfile
index 5e28f03..960f280 100644
--- a/ros_jazzy-ros-core-noble/Dockerfile
+++ b/ros_lyrical-ros-core-resolute/Dockerfile
@@ -1,6 +1,6 @@
 # This is an auto generated Dockerfile for ros:ros-core
 # generated from docker_images_ros2/create_ros_core_image.Dockerfile.em
-FROM ubuntu:noble
+FROM ubuntu:resolute
 
 # setup timezone
 RUN echo 'Etc/UTC' > /etc/timezone && \
@@ -19,22 +19,22 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \
 
 
 # Setup ROS Apt sources
-RUN curl -L -s -o /tmp/ros2-apt-source.deb https://github.com/ros-infrastructure/ros-apt-source/releases/download/1.1.0/ros2-apt-source_1.1.0.noble_all.deb \
-    && echo "35441f3092fd05773a3c397fab38661bec466584c7a1f1c05366579997cb5fe7 /tmp/ros2-apt-source.deb" | sha256sum --strict --check \
+RUN curl -L -s -o /tmp/ros2-testing-apt-source.deb https://github.com/ros-infrastructure/ros-apt-source/releases/download/1.2.0/ros2-testing-apt-source_1.2.0.resolute_all.deb \
+    && echo "da9261ca7c06244da1528e0ede44018f7bb2e24a8a077eb0202f70706b578546 /tmp/ros2-testing-apt-source.deb" | sha256sum --strict --check \
     && apt-get update \
-    && apt-get install /tmp/ros2-apt-source.deb \
-    && rm -f /tmp/ros2-apt-source.deb \
+    && apt-get install /tmp/ros2-testing-apt-source.deb \
+    && rm -f /tmp/ros2-testing-apt-source.deb \
     && rm -rf /var/lib/apt/lists/*
 
 # setup environment
 ENV LANG=C.UTF-8
 ENV LC_ALL=C.UTF-8
 
-ENV ROS_DISTRO=jazzy
+ENV ROS_DISTRO=lyrical
 
 # install ros2 packages
 RUN apt-get update && apt-get install -y --no-install-recommends \
-    ros-jazzy-ros-core=0.11.0-1* \
+    ros-lyrical-ros-core=0.13.0-3* \
     && rm -rf /var/lib/apt/lists/*
 
 # setup entrypoint
diff --git a/ros_humble-ros-core-jammy/ros_entrypoint.sh b/ros_lyrical-ros-core-resolute/ros_entrypoint.sh
similarity index 100%
copy from ros_humble-ros-core-jammy/ros_entrypoint.sh
copy to ros_lyrical-ros-core-resolute/ros_entrypoint.sh
diff --git a/ros_kilted/Dockerfile b/ros_lyrical/Dockerfile
similarity index 92%
copy from ros_kilted/Dockerfile
copy to ros_lyrical/Dockerfile
index a683b6b..aa820db 100644
--- a/ros_kilted/Dockerfile
+++ b/ros_lyrical/Dockerfile
@@ -1,6 +1,6 @@
 # This is an auto generated Dockerfile for ros:ros-base
 # generated from docker_images_ros2/create_ros_image.Dockerfile.em
-FROM ros:kilted-ros-core-noble
+FROM ros:lyrical-ros-core-resolute
 
 # install bootstrap tools
 RUN apt-get update && apt-get install --no-install-recommends -y \
@@ -26,6 +26,6 @@ RUN colcon mixin add default \
 
 # install ros2 packages
 RUN apt-get update && apt-get install -y --no-install-recommends \
-    ros-kilted-ros-base=0.12.0-2* \
+    ros-lyrical-ros-base=0.13.0-3* \
     && rm -rf /var/lib/apt/lists/*

Relevant Maintainers:

@tianon tianon left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+RUN curl -L -s -o /tmp/ros2-testing-apt-source.deb https://github.com/ros-infrastructure/ros-apt-source/releases/download/1.2.0/ros2-testing-apt-source_1.2.0.resolute_all.deb \

curl here is missing --fail (-f) -- without it, an HTTP error response (404, 500, etc.) gets written to the temp .deb file and curl exits 0. The build will still eventually fail at the sha256sum step, but with a confusing hash-mismatch message rather than a clear download error at the right place. Adding -f makes the failure surface immediately at the download step. 👀


+    && echo "da9261ca7c06244da1528e0ede44018f7bb2e24a8a077eb0202f70706b578546 /tmp/ros2-testing-apt-source.deb" | sha256sum --strict --check \

Minor note -- not a blocker: the conventional format for verifying downloaded binaries is the *-prefixed binary mode rather than the space-only text-mode form. The preferred form is:

echo "da9261ca7c06244da1528e0ede44018f7bb2e24a8a077eb0202f70706b578546 */tmp/ros2-testing-apt-source.deb" | sha256sum --strict --check

The * form explicitly marks this as a binary-mode check, which is the right choice for a downloaded .deb -- text mode exists for files where line-ending normalization matters, which isn't relevant here.

@tianon tianon merged commit 2f34721 into docker-library:master May 8, 2026
10 checks passed
@mikaelarguedas mikaelarguedas deleted the add_lyrical_testing branch May 9, 2026 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants