From fcfb4ced1372fac35004c5bd7ea3a52ab476eb31 Mon Sep 17 00:00:00 2001 From: Allison Thackston <73732028+althack@users.noreply.github.com> Date: Fri, 22 May 2026 15:53:27 -0700 Subject: [PATCH 1/5] Add ROS 2 lyrical images --- .vscode/tasks.json | 1 + docker-bake.hcl | 60 +++++- .../rviz/lyrical-docker-compose.yml | 17 ++ ros2/README.md | 8 + ros2/humble-cuda.Dockerfile | 14 +- ros2/humble.Dockerfile | 14 +- ros2/jazzy-cuda.Dockerfile | 14 +- ros2/jazzy.Dockerfile | 14 +- ros2/kilted.Dockerfile | 14 +- ros2/lyrical.Dockerfile | 177 ++++++++++++++++++ ros2/rolling-cuda.Dockerfile | 14 +- ros2/rolling.Dockerfile | 16 +- template/ros2.dockerfile.jinja | 14 +- templates.yml | 18 +- 14 files changed, 343 insertions(+), 52 deletions(-) create mode 100644 docker-compose/rviz/lyrical-docker-compose.yml create mode 100644 ros2/lyrical.Dockerfile diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 69a955ce..0ccb198a 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -113,6 +113,7 @@ "options": [ "ros2-rolling", "ros2-rolling-cuda", + "ros2-lyrical", "ros2-kilted", "ros2-jazzy", "ros2-jazzy-cuda", diff --git a/docker-bake.hcl b/docker-bake.hcl index 40a244ae..bb5de7c7 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -315,6 +315,58 @@ group "ros2-rolling-cuda" { targets = ["ros2-rolling-cuda-base", "ros2-rolling-cuda-dev", "ros2-rolling-cuda-desktop", "ros2-rolling-cuda-full", "ros2-rolling-cuda-gazebo"] } +# ----------- targets for ros2-lyrical ----------- + +target "ros2-lyrical-base" { + context = "ros2" + dockerfile = "lyrical.Dockerfile" + target = "base" + tags = [ + "${REGISTRY}/ros2:lyrical-base", + ] +} + +target "ros2-lyrical-dev" { + context = "ros2" + dockerfile = "lyrical.Dockerfile" + target = "dev" + tags = [ + "${REGISTRY}/ros2:lyrical-dev", + ] +} + +target "ros2-lyrical-desktop" { + context = "ros2" + dockerfile = "lyrical.Dockerfile" + target = "desktop" + tags = [ + "${REGISTRY}/ros2:lyrical-desktop", + ] +} + +target "ros2-lyrical-full" { + context = "ros2" + dockerfile = "lyrical.Dockerfile" + target = "full" + tags = [ + "${REGISTRY}/ros2:lyrical-full", + ] +} + +target "ros2-lyrical-gazebo" { + context = "ros2" + dockerfile = "lyrical.Dockerfile" + target = "gazebo" + tags = [ + "${REGISTRY}/ros2:lyrical-gazebo", + ] +} + +# ---- group for all ros2-lyrical ---- +group "ros2-lyrical" { + targets = ["ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo"] +} + # ----------- targets for ros2-kilted ----------- target "ros2-kilted-base" { @@ -1392,6 +1444,10 @@ group "ros2-rolling-linux-arm64" { targets = [ "ros2-rolling-base" ] } group "ros2-rolling-cuda-linux-amd64" { targets = [ "ros2-rolling-cuda-base", "ros2-rolling-cuda-dev", "ros2-rolling-cuda-desktop", "ros2-rolling-cuda-full", "ros2-rolling-cuda-gazebo" ] } +group "ros2-lyrical-linux-amd64" { targets = [ "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo" ] } +group "ros2-lyrical-linux-arm64" { targets = [ "ros2-lyrical-base" ] } + + group "ros2-kilted-linux-amd64" { targets = [ "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo" ] } group "ros2-kilted-linux-arm64" { targets = [ "ros2-kilted-base" ] } @@ -1487,7 +1543,7 @@ group "gz-garden-cuda-linux-amd64" { targets = [ "gz-garden-cuda-base", "gz-gard # ---------- Family-level groups (e.g., ros2, gz, ignition) ---------- group "ros" { targets = [ "ros-noetic-base", "ros-noetic-dev", "ros-noetic-desktop", "ros-noetic-full", "ros-noetic-gazebo", "ros-melodic-base", "ros-melodic-dev", "ros-melodic-desktop", "ros-melodic-full", "ros-melodic-gazebo", "ros-lunar-base", "ros-lunar-dev", "ros-lunar-desktop", "ros-lunar-full", "ros-lunar-gazebo", "ros-kinetic-base", "ros-kinetic-dev", "ros-kinetic-desktop", "ros-kinetic-full", "ros-kinetic-gazebo" ] } -group "ros2" { targets = [ "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-rolling-cuda-base", "ros2-rolling-cuda-dev", "ros2-rolling-cuda-desktop", "ros2-rolling-cuda-full", "ros2-rolling-cuda-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-iron-base", "ros2-iron-dev", "ros2-iron-desktop", "ros2-iron-full", "ros2-iron-gazebo", "ros2-iron-cuda-base", "ros2-iron-cuda-dev", "ros2-iron-cuda-desktop", "ros2-iron-cuda-full", "ros2-iron-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ros2-galactic-base", "ros2-galactic-dev", "ros2-galactic-desktop", "ros2-galactic-full", "ros2-galactic-gazebo", "ros2-galactic-cuda-base", "ros2-galactic-cuda-dev", "ros2-galactic-cuda-desktop", "ros2-galactic-cuda-full", "ros2-galactic-cuda-gazebo", "ros2-foxy-base", "ros2-foxy-dev", "ros2-foxy-desktop", "ros2-foxy-full", "ros2-foxy-gazebo", "ros2-foxy-cuda-base", "ros2-foxy-cuda-dev", "ros2-foxy-cuda-desktop", "ros2-foxy-cuda-full", "ros2-foxy-cuda-gazebo", "ros2-eloquent-base", "ros2-eloquent-dev", "ros2-eloquent-desktop", "ros2-eloquent-full", "ros2-eloquent-gazebo", "ros2-dashing-base", "ros2-dashing-dev", "ros2-dashing-desktop", "ros2-dashing-full", "ros2-dashing-gazebo" ] } +group "ros2" { targets = [ "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-rolling-cuda-base", "ros2-rolling-cuda-dev", "ros2-rolling-cuda-desktop", "ros2-rolling-cuda-full", "ros2-rolling-cuda-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-iron-base", "ros2-iron-dev", "ros2-iron-desktop", "ros2-iron-full", "ros2-iron-gazebo", "ros2-iron-cuda-base", "ros2-iron-cuda-dev", "ros2-iron-cuda-desktop", "ros2-iron-cuda-full", "ros2-iron-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ros2-galactic-base", "ros2-galactic-dev", "ros2-galactic-desktop", "ros2-galactic-full", "ros2-galactic-gazebo", "ros2-galactic-cuda-base", "ros2-galactic-cuda-dev", "ros2-galactic-cuda-desktop", "ros2-galactic-cuda-full", "ros2-galactic-cuda-gazebo", "ros2-foxy-base", "ros2-foxy-dev", "ros2-foxy-desktop", "ros2-foxy-full", "ros2-foxy-gazebo", "ros2-foxy-cuda-base", "ros2-foxy-cuda-dev", "ros2-foxy-cuda-desktop", "ros2-foxy-cuda-full", "ros2-foxy-cuda-gazebo", "ros2-eloquent-base", "ros2-eloquent-dev", "ros2-eloquent-desktop", "ros2-eloquent-full", "ros2-eloquent-gazebo", "ros2-dashing-base", "ros2-dashing-dev", "ros2-dashing-desktop", "ros2-dashing-full", "ros2-dashing-gazebo" ] } group "gazebo" { targets = [ "gazebo-gazebo11-base", "gazebo-gazebo11-dev", "gazebo-gazebo10-base", "gazebo-gazebo10-dev", "gazebo-gazebo9-base", "gazebo-gazebo9-dev" ] } group "ignition" { targets = [ "ignition-fortress-base", "ignition-fortress-dev", "ignition-edifice-base", "ignition-edifice-dev", "ignition-dome-base", "ignition-dome-dev", "ignition-citadel-base", "ignition-citadel-dev" ] } group "gz" { targets = [ "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev", "gz-garden-base", "gz-garden-dev", "gz-garden-cuda-base", "gz-garden-cuda-dev" ] } @@ -1495,6 +1551,6 @@ group "gz" { targets = [ "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", # ---- all non-EOL targets ---- group "default" { targets = [ - "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-rolling-cuda-base", "ros2-rolling-cuda-dev", "ros2-rolling-cuda-desktop", "ros2-rolling-cuda-full", "ros2-rolling-cuda-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ignition-fortress-base", "ignition-fortress-dev", "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev" + "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-rolling-cuda-base", "ros2-rolling-cuda-dev", "ros2-rolling-cuda-desktop", "ros2-rolling-cuda-full", "ros2-rolling-cuda-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ignition-fortress-base", "ignition-fortress-dev", "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev" ] } \ No newline at end of file diff --git a/docker-compose/rviz/lyrical-docker-compose.yml b/docker-compose/rviz/lyrical-docker-compose.yml new file mode 100644 index 00000000..db2c01e6 --- /dev/null +++ b/docker-compose/rviz/lyrical-docker-compose.yml @@ -0,0 +1,17 @@ + # Note: Run `xhost +local:docker` on the host before starting this container + +services: + rviz-lyrical: + image: althack/ros2:lyrical-full + environment: + - DISPLAY=${DISPLAY} + - XAUTHORITY=${XAUTHORITY} + - LIBGL_ALWAYS_SOFTWARE=1 # Force software rendering + - MESA_GL_VERSION_OVERRIDE=3.3 + volumes: + - /tmp/.X11-unix:/tmp/.X11-unix + network_mode: host # Use host networking + stdin_open: true + tty: true + command: ros2 run rviz2 rviz2 + \ No newline at end of file diff --git a/ros2/README.md b/ros2/README.md index 6328e769..c2217887 100644 --- a/ros2/README.md +++ b/ros2/README.md @@ -30,6 +30,14 @@ rolling-cuda * [rolling-cuda-full](https://github.com/althack/dockerfiles/blob/main/ros2/rolling-cuda.Dockerfile) * [rolling-cuda-gazebo](https://github.com/althack/dockerfiles/blob/main/ros2/rolling-cuda.Dockerfile) +lyrical + +* [lyrical-base](https://github.com/althack/dockerfiles/blob/main/ros2/lyrical.Dockerfile) +* [lyrical-dev](https://github.com/althack/dockerfiles/blob/main/ros2/lyrical.Dockerfile) +* [lyrical-desktop](https://github.com/althack/dockerfiles/blob/main/ros2/lyrical.Dockerfile) +* [lyrical-full](https://github.com/althack/dockerfiles/blob/main/ros2/lyrical.Dockerfile) +* [lyrical-gazebo](https://github.com/althack/dockerfiles/blob/main/ros2/lyrical.Dockerfile) + kilted * [kilted-base](https://github.com/althack/dockerfiles/blob/main/ros2/kilted.Dockerfile) diff --git a/ros2/humble-cuda.Dockerfile b/ros2/humble-cuda.Dockerfile index cbba90cf..a4589b70 100644 --- a/ros2/humble-cuda.Dockerfile +++ b/ros2/humble-cuda.Dockerfile @@ -37,14 +37,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ sudo \ software-properties-common \ wget \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* # 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.$(lsb_release -cs)_all.deb \ - && apt-get update \ - && apt-get install /tmp/ros2-apt-source.deb \ - && rm -f /tmp/ros2-apt-source.deb \ - && rm -rf /var/lib/apt/lists/* +RUN add-apt-repository universe \ + && export 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" \ + && apt-get update \ + && apt-get install /tmp/ros2-apt-source.deb \ + && rm -f /tmp/ros2-apt-source.deb \ + && rm -rf /var/lib/apt/lists/* ENV ROS_DISTRO=humble diff --git a/ros2/humble.Dockerfile b/ros2/humble.Dockerfile index df3af391..ff17efa4 100644 --- a/ros2/humble.Dockerfile +++ b/ros2/humble.Dockerfile @@ -37,14 +37,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ sudo \ software-properties-common \ wget \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* # 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.$(lsb_release -cs)_all.deb \ - && apt-get update \ - && apt-get install /tmp/ros2-apt-source.deb \ - && rm -f /tmp/ros2-apt-source.deb \ - && rm -rf /var/lib/apt/lists/* +RUN add-apt-repository universe \ + && export 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" \ + && apt-get update \ + && apt-get install /tmp/ros2-apt-source.deb \ + && rm -f /tmp/ros2-apt-source.deb \ + && rm -rf /var/lib/apt/lists/* ENV ROS_DISTRO=humble diff --git a/ros2/jazzy-cuda.Dockerfile b/ros2/jazzy-cuda.Dockerfile index 4490b065..1cb675a1 100644 --- a/ros2/jazzy-cuda.Dockerfile +++ b/ros2/jazzy-cuda.Dockerfile @@ -37,14 +37,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ sudo \ software-properties-common \ wget \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* # 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.$(lsb_release -cs)_all.deb \ - && apt-get update \ - && apt-get install /tmp/ros2-apt-source.deb \ - && rm -f /tmp/ros2-apt-source.deb \ - && rm -rf /var/lib/apt/lists/* +RUN add-apt-repository universe \ + && export 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" \ + && apt-get update \ + && apt-get install /tmp/ros2-apt-source.deb \ + && rm -f /tmp/ros2-apt-source.deb \ + && rm -rf /var/lib/apt/lists/* ENV ROS_DISTRO=jazzy diff --git a/ros2/jazzy.Dockerfile b/ros2/jazzy.Dockerfile index 1820a4e3..a5970baa 100644 --- a/ros2/jazzy.Dockerfile +++ b/ros2/jazzy.Dockerfile @@ -37,14 +37,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ sudo \ software-properties-common \ wget \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* # 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.$(lsb_release -cs)_all.deb \ - && apt-get update \ - && apt-get install /tmp/ros2-apt-source.deb \ - && rm -f /tmp/ros2-apt-source.deb \ - && rm -rf /var/lib/apt/lists/* +RUN add-apt-repository universe \ + && export 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" \ + && apt-get update \ + && apt-get install /tmp/ros2-apt-source.deb \ + && rm -f /tmp/ros2-apt-source.deb \ + && rm -rf /var/lib/apt/lists/* ENV ROS_DISTRO=jazzy diff --git a/ros2/kilted.Dockerfile b/ros2/kilted.Dockerfile index 43c951c2..4e9f5306 100644 --- a/ros2/kilted.Dockerfile +++ b/ros2/kilted.Dockerfile @@ -37,14 +37,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ sudo \ software-properties-common \ wget \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* # 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.$(lsb_release -cs)_all.deb \ - && apt-get update \ - && apt-get install /tmp/ros2-apt-source.deb \ - && rm -f /tmp/ros2-apt-source.deb \ - && rm -rf /var/lib/apt/lists/* +RUN add-apt-repository universe \ + && export 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" \ + && apt-get update \ + && apt-get install /tmp/ros2-apt-source.deb \ + && rm -f /tmp/ros2-apt-source.deb \ + && rm -rf /var/lib/apt/lists/* ENV ROS_DISTRO=kilted diff --git a/ros2/lyrical.Dockerfile b/ros2/lyrical.Dockerfile new file mode 100644 index 00000000..968e41bf --- /dev/null +++ b/ros2/lyrical.Dockerfile @@ -0,0 +1,177 @@ +############################################## +# Created from template ros2.dockerfile.jinja +############################################## + +########################################### +# Base image +########################################### +FROM ubuntu:26.04 AS base + +ENV DEBIAN_FRONTEND=noninteractive + +# Install language +RUN apt-get update && apt-get install -y --no-install-recommends \ + locales \ + && locale-gen en_US.UTF-8 \ + && update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 \ + && rm -rf /var/lib/apt/lists/* +ENV LANG=en_US.UTF-8 + +# Install timezone +RUN ln -fs /usr/share/zoneinfo/UTC /etc/localtime \ + && export DEBIAN_FRONTEND=noninteractive \ + && apt-get update \ + && apt-get install -y --no-install-recommends tzdata \ + && dpkg-reconfigure --frontend noninteractive tzdata \ + && rm -rf /var/lib/apt/lists/* + +RUN apt-get update && apt-get -y upgrade \ + && rm -rf /var/lib/apt/lists/* + +# Install common programs +RUN apt-get update && apt-get install -y --no-install-recommends \ + curl \ + gettext-base \ + gnupg2 \ + lsb-release \ + sudo \ + software-properties-common \ + wget \ + && rm -rf /var/lib/apt/lists/* + +# Setup ROS Apt sources +RUN add-apt-repository universe \ + && export 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" \ + && apt-get update \ + && apt-get install /tmp/ros2-apt-source.deb \ + && rm -f /tmp/ros2-apt-source.deb \ + && rm -rf /var/lib/apt/lists/* + +ENV ROS_DISTRO=lyrical + +# Install ROS2 +RUN apt-get update && apt-get install -y --no-install-recommends \ + ros-lyrical-ros-base \ + python3-argcomplete \ + python3-rosdep \ + && rm -rf /var/lib/apt/lists/* + +ARG USERNAME=ros +ARG USER_UID=1000 +ARG USER_GID=$USER_UID + +# Check if "ubuntu" user exists, delete it if it does, then create the desired user +RUN if getent passwd ubuntu > /dev/null 2>&1; then \ + userdel -r ubuntu && \ + echo "Deleted existing ubuntu user"; \ + fi && \ + groupadd --gid $USER_GID $USERNAME && \ + useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME && \ + echo "Created new user $USERNAME" + +# Add sudo support for the non-root user +RUN apt-get update && apt-get install -y sudo \ + && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME\ + && chmod 0440 /etc/sudoers.d/$USERNAME \ + && rm -rf /var/lib/apt/lists/* + +# Set up autocompletion for user +RUN apt-get update && apt-get install -y --no-install-recommends git-core bash-completion \ + && echo "if [ -f /opt/ros/${ROS_DISTRO}/setup.bash ]; then source /opt/ros/${ROS_DISTRO}/setup.bash; fi" >> /home/$USERNAME/.bashrc \ + && echo "if [ -f /usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash ]; then source /usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash; fi" >> /home/$USERNAME/.bashrc \ + && rm -rf /var/lib/apt/lists/* +ENV DEBIAN_FRONTEND= + +# setup entrypoint +COPY ./ros_entrypoint.sh / + +ENTRYPOINT ["/ros_entrypoint.sh"] +CMD ["bash"] +########################################### +# Develop image +########################################### +FROM base AS dev + +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -y --no-install-recommends \ + bash-completion \ + build-essential \ + cmake \ + gdb \ + git \ + openssh-client \ + python3-argcomplete \ + python3-pip \ + ros-dev-tools \ + ros-lyrical-ament-* \ + vim \ + && rm -rf /var/lib/apt/lists/* + +RUN rosdep init || echo "rosdep already initialized" + +ENV DEBIAN_FRONTEND= +ENV AMENT_CPPCHECK_ALLOW_SLOW_VERSIONS=1 + +########################################### +# Desktop image +########################################### +FROM dev AS desktop + +ENV DEBIAN_FRONTEND=noninteractive +# Install the desktop release +RUN apt-get update && apt-get install -y --no-install-recommends \ + ros-lyrical-desktop \ + && rm -rf /var/lib/apt/lists/* +ENV DEBIAN_FRONTEND= + +########################################### +# Full image +########################################### +FROM desktop AS full + +ENV DEBIAN_FRONTEND=noninteractive +# Install the desktop release +RUN apt-get update && apt-get install -y --no-install-recommends \ + ros-lyrical-desktop-full \ + && rm -rf /var/lib/apt/lists/* +ENV DEBIAN_FRONTEND= + + +########################################### +# Full+Gazebo image +########################################### +FROM full AS gazebo + +ENV DEBIAN_FRONTEND=noninteractive +# Install gazebo +RUN wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null \ + && apt-get update && apt-get install -q -y --no-install-recommends \ + ros-lyrical-ros-gz \ + && rm -rf /var/lib/apt/lists/* +ENV DEBIAN_FRONTEND= + +########################################### +# Full+Gazebo+Nvidia image +########################################### + +FROM gazebo AS nvidia + +################ +# Expose the nvidia driver to allow opengl +# Dependencies for glvnd and X11. +################ +RUN apt-get update \ + && apt-get install -y -qq --no-install-recommends \ + libglvnd0 \ + libgl1 \ + libglx0 \ + libegl1 \ + libxext6 \ + libx11-6 + +# Env vars for the nvidia-container-runtime. +ENV NVIDIA_VISIBLE_DEVICES=all +ENV NVIDIA_DRIVER_CAPABILITIES=graphics,utility,compute +ENV QT_X11_NO_MITSHM=1 \ No newline at end of file diff --git a/ros2/rolling-cuda.Dockerfile b/ros2/rolling-cuda.Dockerfile index b1f7f4a5..4ed10734 100644 --- a/ros2/rolling-cuda.Dockerfile +++ b/ros2/rolling-cuda.Dockerfile @@ -37,14 +37,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ sudo \ software-properties-common \ wget \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* # 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.$(lsb_release -cs)_all.deb \ - && apt-get update \ - && apt-get install /tmp/ros2-apt-source.deb \ - && rm -f /tmp/ros2-apt-source.deb \ - && rm -rf /var/lib/apt/lists/* +RUN add-apt-repository universe \ + && export 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" \ + && apt-get update \ + && apt-get install /tmp/ros2-apt-source.deb \ + && rm -f /tmp/ros2-apt-source.deb \ + && rm -rf /var/lib/apt/lists/* ENV ROS_DISTRO=rolling diff --git a/ros2/rolling.Dockerfile b/ros2/rolling.Dockerfile index 55c9ce42..c8c55ba4 100644 --- a/ros2/rolling.Dockerfile +++ b/ros2/rolling.Dockerfile @@ -5,7 +5,7 @@ ########################################### # Base image ########################################### -FROM ubuntu:24.04 AS base +FROM ubuntu:26.04 AS base ENV DEBIAN_FRONTEND=noninteractive @@ -37,14 +37,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ sudo \ software-properties-common \ wget \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* # 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.$(lsb_release -cs)_all.deb \ - && apt-get update \ - && apt-get install /tmp/ros2-apt-source.deb \ - && rm -f /tmp/ros2-apt-source.deb \ - && rm -rf /var/lib/apt/lists/* +RUN add-apt-repository universe \ + && export 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" \ + && apt-get update \ + && apt-get install /tmp/ros2-apt-source.deb \ + && rm -f /tmp/ros2-apt-source.deb \ + && rm -rf /var/lib/apt/lists/* ENV ROS_DISTRO=rolling diff --git a/template/ros2.dockerfile.jinja b/template/ros2.dockerfile.jinja index 8dc8892f..2ace2bd8 100644 --- a/template/ros2.dockerfile.jinja +++ b/template/ros2.dockerfile.jinja @@ -25,14 +25,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ sudo \ software-properties-common \ wget \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* # 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.$(lsb_release -cs)_all.deb \ - && apt-get update \ - && apt-get install /tmp/ros2-apt-source.deb \ - && rm -f /tmp/ros2-apt-source.deb \ - && rm -rf /var/lib/apt/lists/* +RUN add-apt-repository universe \ + && export 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" \ + && apt-get update \ + && apt-get install /tmp/ros2-apt-source.deb \ + && rm -f /tmp/ros2-apt-source.deb \ + && rm -rf /var/lib/apt/lists/* ENV ROS_DISTRO={{ distro }} diff --git a/templates.yml b/templates.yml index 7d0ff641..18b515a3 100644 --- a/templates.yml +++ b/templates.yml @@ -77,7 +77,7 @@ dockerfiles: platforms: ["linux/amd64"] - target: gazebo platforms: ["linux/amd64"] - base_image: "ubuntu:24.04" + base_image: "ubuntu:26.04" - family: "ros2" name: rolling-cuda distro: rolling @@ -93,6 +93,22 @@ dockerfiles: - target: gazebo platforms: ["linux/amd64"] base_image: "nvidia/cuda:13.0.1-cudnn-runtime-ubuntu24.04" + - family: "ros2" + name: lyrical + distro: lyrical + targets: + - target: base + platforms: ["linux/amd64", "linux/arm64"] + - target: dev + platforms: ["linux/amd64"] + - target: desktop + platforms: ["linux/amd64"] + - target: full + platforms: ["linux/amd64"] + - target: gazebo + platforms: ["linux/amd64"] + base_image: "ubuntu:26.04" + eol: "2031-05-31" - family: "ros2" name: kilted distro: kilted From d2af99f00d06639f8ca1ae4b9e88573d00862b35 Mon Sep 17 00:00:00 2001 From: Allison Thackston <73732028+althack@users.noreply.github.com> Date: Fri, 22 May 2026 16:09:49 -0700 Subject: [PATCH 2/5] Remove unsupported rolling cuda --- .vscode/tasks.json | 1 - docker-bake.hcl | 59 ++-------------------------------------------- ros2/README.md | 8 ------- templates.yml | 15 ------------ 4 files changed, 2 insertions(+), 81 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 0ccb198a..3b2e9e6d 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -112,7 +112,6 @@ "description": "name of the image to build", "options": [ "ros2-rolling", - "ros2-rolling-cuda", "ros2-lyrical", "ros2-kilted", "ros2-jazzy", diff --git a/docker-bake.hcl b/docker-bake.hcl index bb5de7c7..13e0ddf4 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -263,58 +263,6 @@ group "ros2-rolling" { targets = ["ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo"] } -# ----------- targets for ros2-rolling-cuda ----------- - -target "ros2-rolling-cuda-base" { - context = "ros2" - dockerfile = "rolling-cuda.Dockerfile" - target = "base" - tags = [ - "${REGISTRY}/ros2:rolling-cuda-base", - ] -} - -target "ros2-rolling-cuda-dev" { - context = "ros2" - dockerfile = "rolling-cuda.Dockerfile" - target = "dev" - tags = [ - "${REGISTRY}/ros2:rolling-cuda-dev", - ] -} - -target "ros2-rolling-cuda-desktop" { - context = "ros2" - dockerfile = "rolling-cuda.Dockerfile" - target = "desktop" - tags = [ - "${REGISTRY}/ros2:rolling-cuda-desktop", - ] -} - -target "ros2-rolling-cuda-full" { - context = "ros2" - dockerfile = "rolling-cuda.Dockerfile" - target = "full" - tags = [ - "${REGISTRY}/ros2:rolling-cuda-full", - ] -} - -target "ros2-rolling-cuda-gazebo" { - context = "ros2" - dockerfile = "rolling-cuda.Dockerfile" - target = "gazebo" - tags = [ - "${REGISTRY}/ros2:rolling-cuda-gazebo", - ] -} - -# ---- group for all ros2-rolling-cuda ---- -group "ros2-rolling-cuda" { - targets = ["ros2-rolling-cuda-base", "ros2-rolling-cuda-dev", "ros2-rolling-cuda-desktop", "ros2-rolling-cuda-full", "ros2-rolling-cuda-gazebo"] -} - # ----------- targets for ros2-lyrical ----------- target "ros2-lyrical-base" { @@ -1441,9 +1389,6 @@ group "ros2-rolling-linux-amd64" { targets = [ "ros2-rolling-base", "ros2-rollin group "ros2-rolling-linux-arm64" { targets = [ "ros2-rolling-base" ] } -group "ros2-rolling-cuda-linux-amd64" { targets = [ "ros2-rolling-cuda-base", "ros2-rolling-cuda-dev", "ros2-rolling-cuda-desktop", "ros2-rolling-cuda-full", "ros2-rolling-cuda-gazebo" ] } - - group "ros2-lyrical-linux-amd64" { targets = [ "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo" ] } group "ros2-lyrical-linux-arm64" { targets = [ "ros2-lyrical-base" ] } @@ -1543,7 +1488,7 @@ group "gz-garden-cuda-linux-amd64" { targets = [ "gz-garden-cuda-base", "gz-gard # ---------- Family-level groups (e.g., ros2, gz, ignition) ---------- group "ros" { targets = [ "ros-noetic-base", "ros-noetic-dev", "ros-noetic-desktop", "ros-noetic-full", "ros-noetic-gazebo", "ros-melodic-base", "ros-melodic-dev", "ros-melodic-desktop", "ros-melodic-full", "ros-melodic-gazebo", "ros-lunar-base", "ros-lunar-dev", "ros-lunar-desktop", "ros-lunar-full", "ros-lunar-gazebo", "ros-kinetic-base", "ros-kinetic-dev", "ros-kinetic-desktop", "ros-kinetic-full", "ros-kinetic-gazebo" ] } -group "ros2" { targets = [ "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-rolling-cuda-base", "ros2-rolling-cuda-dev", "ros2-rolling-cuda-desktop", "ros2-rolling-cuda-full", "ros2-rolling-cuda-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-iron-base", "ros2-iron-dev", "ros2-iron-desktop", "ros2-iron-full", "ros2-iron-gazebo", "ros2-iron-cuda-base", "ros2-iron-cuda-dev", "ros2-iron-cuda-desktop", "ros2-iron-cuda-full", "ros2-iron-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ros2-galactic-base", "ros2-galactic-dev", "ros2-galactic-desktop", "ros2-galactic-full", "ros2-galactic-gazebo", "ros2-galactic-cuda-base", "ros2-galactic-cuda-dev", "ros2-galactic-cuda-desktop", "ros2-galactic-cuda-full", "ros2-galactic-cuda-gazebo", "ros2-foxy-base", "ros2-foxy-dev", "ros2-foxy-desktop", "ros2-foxy-full", "ros2-foxy-gazebo", "ros2-foxy-cuda-base", "ros2-foxy-cuda-dev", "ros2-foxy-cuda-desktop", "ros2-foxy-cuda-full", "ros2-foxy-cuda-gazebo", "ros2-eloquent-base", "ros2-eloquent-dev", "ros2-eloquent-desktop", "ros2-eloquent-full", "ros2-eloquent-gazebo", "ros2-dashing-base", "ros2-dashing-dev", "ros2-dashing-desktop", "ros2-dashing-full", "ros2-dashing-gazebo" ] } +group "ros2" { targets = [ "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-iron-base", "ros2-iron-dev", "ros2-iron-desktop", "ros2-iron-full", "ros2-iron-gazebo", "ros2-iron-cuda-base", "ros2-iron-cuda-dev", "ros2-iron-cuda-desktop", "ros2-iron-cuda-full", "ros2-iron-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ros2-galactic-base", "ros2-galactic-dev", "ros2-galactic-desktop", "ros2-galactic-full", "ros2-galactic-gazebo", "ros2-galactic-cuda-base", "ros2-galactic-cuda-dev", "ros2-galactic-cuda-desktop", "ros2-galactic-cuda-full", "ros2-galactic-cuda-gazebo", "ros2-foxy-base", "ros2-foxy-dev", "ros2-foxy-desktop", "ros2-foxy-full", "ros2-foxy-gazebo", "ros2-foxy-cuda-base", "ros2-foxy-cuda-dev", "ros2-foxy-cuda-desktop", "ros2-foxy-cuda-full", "ros2-foxy-cuda-gazebo", "ros2-eloquent-base", "ros2-eloquent-dev", "ros2-eloquent-desktop", "ros2-eloquent-full", "ros2-eloquent-gazebo", "ros2-dashing-base", "ros2-dashing-dev", "ros2-dashing-desktop", "ros2-dashing-full", "ros2-dashing-gazebo" ] } group "gazebo" { targets = [ "gazebo-gazebo11-base", "gazebo-gazebo11-dev", "gazebo-gazebo10-base", "gazebo-gazebo10-dev", "gazebo-gazebo9-base", "gazebo-gazebo9-dev" ] } group "ignition" { targets = [ "ignition-fortress-base", "ignition-fortress-dev", "ignition-edifice-base", "ignition-edifice-dev", "ignition-dome-base", "ignition-dome-dev", "ignition-citadel-base", "ignition-citadel-dev" ] } group "gz" { targets = [ "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev", "gz-garden-base", "gz-garden-dev", "gz-garden-cuda-base", "gz-garden-cuda-dev" ] } @@ -1551,6 +1496,6 @@ group "gz" { targets = [ "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", # ---- all non-EOL targets ---- group "default" { targets = [ - "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-rolling-cuda-base", "ros2-rolling-cuda-dev", "ros2-rolling-cuda-desktop", "ros2-rolling-cuda-full", "ros2-rolling-cuda-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ignition-fortress-base", "ignition-fortress-dev", "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev" + "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ignition-fortress-base", "ignition-fortress-dev", "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev" ] } \ No newline at end of file diff --git a/ros2/README.md b/ros2/README.md index c2217887..b9bb10b2 100644 --- a/ros2/README.md +++ b/ros2/README.md @@ -22,14 +22,6 @@ rolling * [rolling-full](https://github.com/althack/dockerfiles/blob/main/ros2/rolling.Dockerfile) * [rolling-gazebo](https://github.com/althack/dockerfiles/blob/main/ros2/rolling.Dockerfile) -rolling-cuda - -* [rolling-cuda-base](https://github.com/althack/dockerfiles/blob/main/ros2/rolling-cuda.Dockerfile) -* [rolling-cuda-dev](https://github.com/althack/dockerfiles/blob/main/ros2/rolling-cuda.Dockerfile) -* [rolling-cuda-desktop](https://github.com/althack/dockerfiles/blob/main/ros2/rolling-cuda.Dockerfile) -* [rolling-cuda-full](https://github.com/althack/dockerfiles/blob/main/ros2/rolling-cuda.Dockerfile) -* [rolling-cuda-gazebo](https://github.com/althack/dockerfiles/blob/main/ros2/rolling-cuda.Dockerfile) - lyrical * [lyrical-base](https://github.com/althack/dockerfiles/blob/main/ros2/lyrical.Dockerfile) diff --git a/templates.yml b/templates.yml index 18b515a3..b43deff5 100644 --- a/templates.yml +++ b/templates.yml @@ -78,21 +78,6 @@ dockerfiles: - target: gazebo platforms: ["linux/amd64"] base_image: "ubuntu:26.04" - - family: "ros2" - name: rolling-cuda - distro: rolling - targets: - - target: base - platforms: ["linux/amd64"] - - target: dev - platforms: ["linux/amd64"] - - target: desktop - platforms: ["linux/amd64"] - - target: full - platforms: ["linux/amd64"] - - target: gazebo - platforms: ["linux/amd64"] - base_image: "nvidia/cuda:13.0.1-cudnn-runtime-ubuntu24.04" - family: "ros2" name: lyrical distro: lyrical From 343100dab0531c497ff5f6aaa7d33b02d8d2ff3f Mon Sep 17 00:00:00 2001 From: Allison Thackston <73732028+althack@users.noreply.github.com> Date: Sat, 23 May 2026 10:01:12 -0700 Subject: [PATCH 3/5] try ubuntu 24 for rolling --- ros2/rolling.Dockerfile | 2 +- templates.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ros2/rolling.Dockerfile b/ros2/rolling.Dockerfile index c8c55ba4..a80d6a95 100644 --- a/ros2/rolling.Dockerfile +++ b/ros2/rolling.Dockerfile @@ -5,7 +5,7 @@ ########################################### # Base image ########################################### -FROM ubuntu:26.04 AS base +FROM ubuntu:24.04 AS base ENV DEBIAN_FRONTEND=noninteractive diff --git a/templates.yml b/templates.yml index b43deff5..ffa6c17b 100644 --- a/templates.yml +++ b/templates.yml @@ -77,7 +77,7 @@ dockerfiles: platforms: ["linux/amd64"] - target: gazebo platforms: ["linux/amd64"] - base_image: "ubuntu:26.04" + base_image: "ubuntu:24.04" - family: "ros2" name: lyrical distro: lyrical From de881dfb0dee7ea1a93135d0788f4e43101effca Mon Sep 17 00:00:00 2001 From: Allison Thackston <73732028+althack@users.noreply.github.com> Date: Sat, 23 May 2026 10:38:34 -0700 Subject: [PATCH 4/5] remove rolling desktop --- docker-bake.hcl | 17 ++++------------- ros2/README.md | 1 - templates.yml | 2 -- 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/docker-bake.hcl b/docker-bake.hcl index 13e0ddf4..b0a84bf7 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -231,15 +231,6 @@ target "ros2-rolling-dev" { ] } -target "ros2-rolling-desktop" { - context = "ros2" - dockerfile = "rolling.Dockerfile" - target = "desktop" - tags = [ - "${REGISTRY}/ros2:rolling-desktop", - ] -} - target "ros2-rolling-full" { context = "ros2" dockerfile = "rolling.Dockerfile" @@ -260,7 +251,7 @@ target "ros2-rolling-gazebo" { # ---- group for all ros2-rolling ---- group "ros2-rolling" { - targets = ["ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo"] + targets = ["ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-full", "ros2-rolling-gazebo"] } # ----------- targets for ros2-lyrical ----------- @@ -1385,7 +1376,7 @@ group "ros-kinetic-linux-amd64" { targets = [ "ros-kinetic-base", "ros-kinetic-d group "ros-kinetic-linux-arm64" { targets = [ "ros-kinetic-base", "ros-kinetic-dev", "ros-kinetic-desktop", "ros-kinetic-full" ] } -group "ros2-rolling-linux-amd64" { targets = [ "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo" ] } +group "ros2-rolling-linux-amd64" { targets = [ "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-full", "ros2-rolling-gazebo" ] } group "ros2-rolling-linux-arm64" { targets = [ "ros2-rolling-base" ] } @@ -1488,7 +1479,7 @@ group "gz-garden-cuda-linux-amd64" { targets = [ "gz-garden-cuda-base", "gz-gard # ---------- Family-level groups (e.g., ros2, gz, ignition) ---------- group "ros" { targets = [ "ros-noetic-base", "ros-noetic-dev", "ros-noetic-desktop", "ros-noetic-full", "ros-noetic-gazebo", "ros-melodic-base", "ros-melodic-dev", "ros-melodic-desktop", "ros-melodic-full", "ros-melodic-gazebo", "ros-lunar-base", "ros-lunar-dev", "ros-lunar-desktop", "ros-lunar-full", "ros-lunar-gazebo", "ros-kinetic-base", "ros-kinetic-dev", "ros-kinetic-desktop", "ros-kinetic-full", "ros-kinetic-gazebo" ] } -group "ros2" { targets = [ "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-iron-base", "ros2-iron-dev", "ros2-iron-desktop", "ros2-iron-full", "ros2-iron-gazebo", "ros2-iron-cuda-base", "ros2-iron-cuda-dev", "ros2-iron-cuda-desktop", "ros2-iron-cuda-full", "ros2-iron-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ros2-galactic-base", "ros2-galactic-dev", "ros2-galactic-desktop", "ros2-galactic-full", "ros2-galactic-gazebo", "ros2-galactic-cuda-base", "ros2-galactic-cuda-dev", "ros2-galactic-cuda-desktop", "ros2-galactic-cuda-full", "ros2-galactic-cuda-gazebo", "ros2-foxy-base", "ros2-foxy-dev", "ros2-foxy-desktop", "ros2-foxy-full", "ros2-foxy-gazebo", "ros2-foxy-cuda-base", "ros2-foxy-cuda-dev", "ros2-foxy-cuda-desktop", "ros2-foxy-cuda-full", "ros2-foxy-cuda-gazebo", "ros2-eloquent-base", "ros2-eloquent-dev", "ros2-eloquent-desktop", "ros2-eloquent-full", "ros2-eloquent-gazebo", "ros2-dashing-base", "ros2-dashing-dev", "ros2-dashing-desktop", "ros2-dashing-full", "ros2-dashing-gazebo" ] } +group "ros2" { targets = [ "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-iron-base", "ros2-iron-dev", "ros2-iron-desktop", "ros2-iron-full", "ros2-iron-gazebo", "ros2-iron-cuda-base", "ros2-iron-cuda-dev", "ros2-iron-cuda-desktop", "ros2-iron-cuda-full", "ros2-iron-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ros2-galactic-base", "ros2-galactic-dev", "ros2-galactic-desktop", "ros2-galactic-full", "ros2-galactic-gazebo", "ros2-galactic-cuda-base", "ros2-galactic-cuda-dev", "ros2-galactic-cuda-desktop", "ros2-galactic-cuda-full", "ros2-galactic-cuda-gazebo", "ros2-foxy-base", "ros2-foxy-dev", "ros2-foxy-desktop", "ros2-foxy-full", "ros2-foxy-gazebo", "ros2-foxy-cuda-base", "ros2-foxy-cuda-dev", "ros2-foxy-cuda-desktop", "ros2-foxy-cuda-full", "ros2-foxy-cuda-gazebo", "ros2-eloquent-base", "ros2-eloquent-dev", "ros2-eloquent-desktop", "ros2-eloquent-full", "ros2-eloquent-gazebo", "ros2-dashing-base", "ros2-dashing-dev", "ros2-dashing-desktop", "ros2-dashing-full", "ros2-dashing-gazebo" ] } group "gazebo" { targets = [ "gazebo-gazebo11-base", "gazebo-gazebo11-dev", "gazebo-gazebo10-base", "gazebo-gazebo10-dev", "gazebo-gazebo9-base", "gazebo-gazebo9-dev" ] } group "ignition" { targets = [ "ignition-fortress-base", "ignition-fortress-dev", "ignition-edifice-base", "ignition-edifice-dev", "ignition-dome-base", "ignition-dome-dev", "ignition-citadel-base", "ignition-citadel-dev" ] } group "gz" { targets = [ "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev", "gz-garden-base", "gz-garden-dev", "gz-garden-cuda-base", "gz-garden-cuda-dev" ] } @@ -1496,6 +1487,6 @@ group "gz" { targets = [ "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", # ---- all non-EOL targets ---- group "default" { targets = [ - "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-desktop", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ignition-fortress-base", "ignition-fortress-dev", "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev" + "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ignition-fortress-base", "ignition-fortress-dev", "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev" ] } \ No newline at end of file diff --git a/ros2/README.md b/ros2/README.md index b9bb10b2..fc356521 100644 --- a/ros2/README.md +++ b/ros2/README.md @@ -18,7 +18,6 @@ rolling * [rolling-base](https://github.com/althack/dockerfiles/blob/main/ros2/rolling.Dockerfile) * [rolling-dev](https://github.com/althack/dockerfiles/blob/main/ros2/rolling.Dockerfile) -* [rolling-desktop](https://github.com/althack/dockerfiles/blob/main/ros2/rolling.Dockerfile) * [rolling-full](https://github.com/althack/dockerfiles/blob/main/ros2/rolling.Dockerfile) * [rolling-gazebo](https://github.com/althack/dockerfiles/blob/main/ros2/rolling.Dockerfile) diff --git a/templates.yml b/templates.yml index ffa6c17b..2f134efe 100644 --- a/templates.yml +++ b/templates.yml @@ -71,8 +71,6 @@ dockerfiles: platforms: ["linux/amd64", "linux/arm64"] - target: dev platforms: ["linux/amd64"] - - target: desktop - platforms: ["linux/amd64"] - target: full platforms: ["linux/amd64"] - target: gazebo From 327d2775494a2c08dafdc4a7b9311cfdc9494e10 Mon Sep 17 00:00:00 2001 From: Allison Thackston <73732028+althack@users.noreply.github.com> Date: Sat, 23 May 2026 10:46:26 -0700 Subject: [PATCH 5/5] remove more from rolling --- docker-bake.hcl | 26 ++++---------------------- ros2/README.md | 2 -- templates.yml | 4 ---- 3 files changed, 4 insertions(+), 28 deletions(-) diff --git a/docker-bake.hcl b/docker-bake.hcl index b0a84bf7..5d220f44 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -231,27 +231,9 @@ target "ros2-rolling-dev" { ] } -target "ros2-rolling-full" { - context = "ros2" - dockerfile = "rolling.Dockerfile" - target = "full" - tags = [ - "${REGISTRY}/ros2:rolling-full", - ] -} - -target "ros2-rolling-gazebo" { - context = "ros2" - dockerfile = "rolling.Dockerfile" - target = "gazebo" - tags = [ - "${REGISTRY}/ros2:rolling-gazebo", - ] -} - # ---- group for all ros2-rolling ---- group "ros2-rolling" { - targets = ["ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-full", "ros2-rolling-gazebo"] + targets = ["ros2-rolling-base", "ros2-rolling-dev"] } # ----------- targets for ros2-lyrical ----------- @@ -1376,7 +1358,7 @@ group "ros-kinetic-linux-amd64" { targets = [ "ros-kinetic-base", "ros-kinetic-d group "ros-kinetic-linux-arm64" { targets = [ "ros-kinetic-base", "ros-kinetic-dev", "ros-kinetic-desktop", "ros-kinetic-full" ] } -group "ros2-rolling-linux-amd64" { targets = [ "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-full", "ros2-rolling-gazebo" ] } +group "ros2-rolling-linux-amd64" { targets = [ "ros2-rolling-base", "ros2-rolling-dev" ] } group "ros2-rolling-linux-arm64" { targets = [ "ros2-rolling-base" ] } @@ -1479,7 +1461,7 @@ group "gz-garden-cuda-linux-amd64" { targets = [ "gz-garden-cuda-base", "gz-gard # ---------- Family-level groups (e.g., ros2, gz, ignition) ---------- group "ros" { targets = [ "ros-noetic-base", "ros-noetic-dev", "ros-noetic-desktop", "ros-noetic-full", "ros-noetic-gazebo", "ros-melodic-base", "ros-melodic-dev", "ros-melodic-desktop", "ros-melodic-full", "ros-melodic-gazebo", "ros-lunar-base", "ros-lunar-dev", "ros-lunar-desktop", "ros-lunar-full", "ros-lunar-gazebo", "ros-kinetic-base", "ros-kinetic-dev", "ros-kinetic-desktop", "ros-kinetic-full", "ros-kinetic-gazebo" ] } -group "ros2" { targets = [ "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-iron-base", "ros2-iron-dev", "ros2-iron-desktop", "ros2-iron-full", "ros2-iron-gazebo", "ros2-iron-cuda-base", "ros2-iron-cuda-dev", "ros2-iron-cuda-desktop", "ros2-iron-cuda-full", "ros2-iron-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ros2-galactic-base", "ros2-galactic-dev", "ros2-galactic-desktop", "ros2-galactic-full", "ros2-galactic-gazebo", "ros2-galactic-cuda-base", "ros2-galactic-cuda-dev", "ros2-galactic-cuda-desktop", "ros2-galactic-cuda-full", "ros2-galactic-cuda-gazebo", "ros2-foxy-base", "ros2-foxy-dev", "ros2-foxy-desktop", "ros2-foxy-full", "ros2-foxy-gazebo", "ros2-foxy-cuda-base", "ros2-foxy-cuda-dev", "ros2-foxy-cuda-desktop", "ros2-foxy-cuda-full", "ros2-foxy-cuda-gazebo", "ros2-eloquent-base", "ros2-eloquent-dev", "ros2-eloquent-desktop", "ros2-eloquent-full", "ros2-eloquent-gazebo", "ros2-dashing-base", "ros2-dashing-dev", "ros2-dashing-desktop", "ros2-dashing-full", "ros2-dashing-gazebo" ] } +group "ros2" { targets = [ "ros2-rolling-base", "ros2-rolling-dev", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-iron-base", "ros2-iron-dev", "ros2-iron-desktop", "ros2-iron-full", "ros2-iron-gazebo", "ros2-iron-cuda-base", "ros2-iron-cuda-dev", "ros2-iron-cuda-desktop", "ros2-iron-cuda-full", "ros2-iron-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ros2-galactic-base", "ros2-galactic-dev", "ros2-galactic-desktop", "ros2-galactic-full", "ros2-galactic-gazebo", "ros2-galactic-cuda-base", "ros2-galactic-cuda-dev", "ros2-galactic-cuda-desktop", "ros2-galactic-cuda-full", "ros2-galactic-cuda-gazebo", "ros2-foxy-base", "ros2-foxy-dev", "ros2-foxy-desktop", "ros2-foxy-full", "ros2-foxy-gazebo", "ros2-foxy-cuda-base", "ros2-foxy-cuda-dev", "ros2-foxy-cuda-desktop", "ros2-foxy-cuda-full", "ros2-foxy-cuda-gazebo", "ros2-eloquent-base", "ros2-eloquent-dev", "ros2-eloquent-desktop", "ros2-eloquent-full", "ros2-eloquent-gazebo", "ros2-dashing-base", "ros2-dashing-dev", "ros2-dashing-desktop", "ros2-dashing-full", "ros2-dashing-gazebo" ] } group "gazebo" { targets = [ "gazebo-gazebo11-base", "gazebo-gazebo11-dev", "gazebo-gazebo10-base", "gazebo-gazebo10-dev", "gazebo-gazebo9-base", "gazebo-gazebo9-dev" ] } group "ignition" { targets = [ "ignition-fortress-base", "ignition-fortress-dev", "ignition-edifice-base", "ignition-edifice-dev", "ignition-dome-base", "ignition-dome-dev", "ignition-citadel-base", "ignition-citadel-dev" ] } group "gz" { targets = [ "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev", "gz-garden-base", "gz-garden-dev", "gz-garden-cuda-base", "gz-garden-cuda-dev" ] } @@ -1487,6 +1469,6 @@ group "gz" { targets = [ "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", # ---- all non-EOL targets ---- group "default" { targets = [ - "ros2-rolling-base", "ros2-rolling-dev", "ros2-rolling-full", "ros2-rolling-gazebo", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ignition-fortress-base", "ignition-fortress-dev", "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev" + "ros2-rolling-base", "ros2-rolling-dev", "ros2-lyrical-base", "ros2-lyrical-dev", "ros2-lyrical-desktop", "ros2-lyrical-full", "ros2-lyrical-gazebo", "ros2-kilted-base", "ros2-kilted-dev", "ros2-kilted-desktop", "ros2-kilted-full", "ros2-kilted-gazebo", "ros2-jazzy-base", "ros2-jazzy-dev", "ros2-jazzy-desktop", "ros2-jazzy-full", "ros2-jazzy-gazebo", "ros2-jazzy-cuda-base", "ros2-jazzy-cuda-dev", "ros2-jazzy-cuda-desktop", "ros2-jazzy-cuda-full", "ros2-jazzy-cuda-gazebo", "ros2-humble-base", "ros2-humble-dev", "ros2-humble-desktop", "ros2-humble-full", "ros2-humble-gazebo", "ros2-humble-cuda-base", "ros2-humble-cuda-dev", "ros2-humble-cuda-desktop", "ros2-humble-cuda-full", "ros2-humble-cuda-gazebo", "ignition-fortress-base", "ignition-fortress-dev", "gz-jetty-base", "gz-jetty-dev", "gz-jetty-cuda-base", "gz-jetty-cuda-dev", "gz-ionic-base", "gz-ionic-dev", "gz-ionic-cuda-base", "gz-ionic-cuda-dev", "gz-harmonic-base", "gz-harmonic-dev", "gz-harmonic-cuda-base", "gz-harmonic-cuda-dev" ] } \ No newline at end of file diff --git a/ros2/README.md b/ros2/README.md index fc356521..756cc464 100644 --- a/ros2/README.md +++ b/ros2/README.md @@ -18,8 +18,6 @@ rolling * [rolling-base](https://github.com/althack/dockerfiles/blob/main/ros2/rolling.Dockerfile) * [rolling-dev](https://github.com/althack/dockerfiles/blob/main/ros2/rolling.Dockerfile) -* [rolling-full](https://github.com/althack/dockerfiles/blob/main/ros2/rolling.Dockerfile) -* [rolling-gazebo](https://github.com/althack/dockerfiles/blob/main/ros2/rolling.Dockerfile) lyrical diff --git a/templates.yml b/templates.yml index 2f134efe..e944943f 100644 --- a/templates.yml +++ b/templates.yml @@ -71,10 +71,6 @@ dockerfiles: platforms: ["linux/amd64", "linux/arm64"] - target: dev platforms: ["linux/amd64"] - - target: full - platforms: ["linux/amd64"] - - target: gazebo - platforms: ["linux/amd64"] base_image: "ubuntu:24.04" - family: "ros2" name: lyrical