Skip to content
Draft
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
2 changes: 1 addition & 1 deletion docker/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ros_buildfarm

###### Requirements with Repo Specifiers ######
# See https://pip.readthedocs.io/en/stable/reference/pip_install/#git
git+https://github.com/osrf/docker_templates.git@master#egg=docker_templates
git+https://github.com/osrf/docker_templates.git@follow-up-templates-114#egg=docker_templates

###### Requirements with Version Specifiers ######
# See https://www.python.org/dev/peps/pep-0440/#version-specifiers
Expand Down
1 change: 0 additions & 1 deletion ros/galactic/ubuntu/focal/platform.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,3 @@ platform:
arch: amd64
type: distribution
version:
ros_version: 2
20 changes: 15 additions & 5 deletions ros/galactic/ubuntu/focal/ros-core/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,31 @@ RUN echo 'Etc/UTC' > /etc/timezone && \

# install packages
RUN apt-get update && apt-get install -q -y --no-install-recommends \
ca-certificates \
curl \
dirmngr \
gnupg2 \
&& rm -rf /var/lib/apt/lists/*


# setup keys
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 4B63CF8FDE49746E98FA01DDAD19BAB3CBF125EA
RUN set -eux; \
key='4B63CF8FDE49746E98FA01DDAD19BAB3CBF125EA'; \
export GNUPGHOME="$(mktemp -d)"; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
mkdir -p /usr/share/keyrings; \
gpg --batch --export "$key" > /usr/share/keyrings/ros2-snapshots-archive-keyring.gpg; \
gpgconf --kill all; \
rm -rf "$GNUPGHOME"

# setup sources.list
RUN echo "deb http://snapshots.ros.org/galactic/final/ubuntu focal main" > /etc/apt/sources.list.d/ros2-snapshots.list
RUN echo "deb [ signed-by=/usr/share/keyrings/ros2-snapshots-archive-keyring.gpg ] http://snapshots.ros.org/galactic/final/ubuntu focal main" > /etc/apt/sources.list.d/ros2-snapshots.list

# setup environment
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8

ENV ROS_DISTRO galactic
ENV ROS_DISTRO=galactic

# install ros2 packages
RUN apt-get update && apt-get install -y --no-install-recommends \
Expand Down
24 changes: 15 additions & 9 deletions ros/galactic/ubuntu/focal/ros1-bridge/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,26 @@
# generated from docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
FROM ros:galactic-ros-base-focal

# setup keys
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
# install packages
RUN apt-get update && apt-get install -q -y --no-install-recommends \
ca-certificates \
curl \
&& rm -rf /var/lib/apt/lists/*


# setup sources.list
RUN echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros1-latest.list
RUN curl -L -s -o /tmp/ros-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/1.1.0/ros-apt-source_1.1.0.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" \
&& apt-get update \
&& apt-get install /tmp/ros-apt-source.deb \
&& rm -f /tmp/ros-apt-source.deb

ENV ROS1_DISTRO noetic
ENV ROS2_DISTRO galactic
ENV ROS1_DISTRO=noetic
ENV ROS2_DISTRO=galactic

# install ros packages
RUN apt-get update && apt-get install -y --no-install-recommends \
ros-noetic-ros-comm=1.16.0-1* \
ros-noetic-roscpp-tutorials=0.10.2-1* \
ros-noetic-rospy-tutorials=0.10.2-1* \
ros-noetic-ros-comm=1.17.4-1* \
ros-noetic-roscpp-tutorials=0.10.3-1* \
ros-noetic-rospy-tutorials=0.10.3-1* \
&& rm -rf /var/lib/apt/lists/*

# install ros2 packages
Expand Down
5 changes: 1 addition & 4 deletions ros/humble/ubuntu/jammy/ros-core/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \
&& rm -rf /var/lib/apt/lists/*


# NOTE: this doesnt deal with snapshots repo as not clear what to install for those..
# NOTE: How do we break cache and ensure rebuild if that version changes ?
RUN 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 -s -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 $VERSION_CODENAME)_all.deb" \
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.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" \
&& apt-get update \
&& apt-get install /tmp/ros2-apt-source.deb \
&& rm -f /tmp/ros2-apt-source.deb
Expand Down
3 changes: 3 additions & 0 deletions ros/iron/ubuntu/jammy/ros-core/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,13 @@ RUN echo 'Etc/UTC' > /etc/timezone && \

# install packages
RUN apt-get update && apt-get install -q -y --no-install-recommends \
ca-certificates \
curl \
dirmngr \
gnupg2 \
&& rm -rf /var/lib/apt/lists/*


# setup keys
RUN set -eux; \
key='4B63CF8FDE49746E98FA01DDAD19BAB3CBF125EA'; \
Expand Down
5 changes: 1 addition & 4 deletions ros/jazzy/ubuntu/noble/ros-core/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \
&& rm -rf /var/lib/apt/lists/*


# NOTE: this doesnt deal with snapshots repo as not clear what to install for those..
# NOTE: How do we break cache and ensure rebuild if that version changes ?
RUN 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 -s -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 $VERSION_CODENAME)_all.deb" \
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.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" \
&& apt-get update \
&& apt-get install /tmp/ros2-apt-source.deb \
&& rm -f /tmp/ros2-apt-source.deb
Expand Down
5 changes: 1 addition & 4 deletions ros/kilted/ubuntu/noble/ros-core/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \
&& rm -rf /var/lib/apt/lists/*


# NOTE: this doesnt deal with snapshots repo as not clear what to install for those..
# NOTE: How do we break cache and ensure rebuild if that version changes ?
RUN 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 -s -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 $VERSION_CODENAME)_all.deb" \
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.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" \
&& apt-get update \
&& apt-get install /tmp/ros2-apt-source.deb \
&& rm -f /tmp/ros2-apt-source.deb
Expand Down
52 changes: 26 additions & 26 deletions ros/manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -536,19 +536,19 @@ release_names:
- arm64v8
tag_names:
# EOL
# ros-core:
# aliases:
# - "$release_name-ros-core"
# - "$release_name-ros-core-$os_code_name"
# ros-base:
# aliases:
# - "$release_name-ros-base"
# - "$release_name-ros-base-$os_code_name"
# - "$release_name"
# ros1-bridge:
# aliases:
# - "$release_name-ros1-bridge"
# - "$release_name-ros1-bridge-$os_code_name"
ros-core:
aliases:
- "$release_name-ros-core"
- "$release_name-ros-core-$os_code_name"
ros-base:
aliases:
- "$release_name-ros-base"
- "$release_name-ros-base-$os_code_name"
- "$release_name"
ros1-bridge:
aliases:
- "$release_name-ros1-bridge"
- "$release_name-ros1-bridge-$os_code_name"
humble:
eol: 2025-05
os_names:
Expand Down Expand Up @@ -585,19 +585,19 @@ release_names:
- arm64v8
tag_names:
# EOL
# ros-core:
# aliases:
# - "$release_name-ros-core"
# - "$release_name-ros-core-$os_code_name"
# ros-base:
# aliases:
# - "$release_name-ros-base"
# - "$release_name-ros-base-$os_code_name"
# - "$release_name"
# perception:
# aliases:
# - "$release_name-perception"
# - "$release_name-perception-$os_code_name"
ros-core:
aliases:
- "$release_name-ros-core"
- "$release_name-ros-core-$os_code_name"
ros-base:
aliases:
- "$release_name-ros-base"
- "$release_name-ros-base-$os_code_name"
- "$release_name"
perception:
aliases:
- "$release_name-perception"
- "$release_name-perception-$os_code_name"
jazzy:
eol: 2029-05
os_names:
Expand Down
5 changes: 1 addition & 4 deletions ros/noetic/ubuntu/focal/ros-core/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \
&& rm -rf /var/lib/apt/lists/*


# NOTE: this doesnt deal with snapshots repo as not clear what to install for those..
# NOTE: How do we break cache and ensure rebuild if that version changes ?
RUN 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 -s -o /tmp/ros-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" \
RUN curl -L -s -o /tmp/ros-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/1.1.0/ros-apt-source_1.1.0.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" \
&& apt-get update \
&& apt-get install /tmp/ros-apt-source.deb \
&& rm -f /tmp/ros-apt-source.deb
Expand Down
5 changes: 1 addition & 4 deletions ros/rolling/ubuntu/noble/ros-core/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \
&& rm -rf /var/lib/apt/lists/*


# NOTE: this doesnt deal with snapshots repo as not clear what to install for those..
# NOTE: How do we break cache and ensure rebuild if that version changes ?
RUN 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 -s -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 $VERSION_CODENAME)_all.deb" \
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.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" \
&& apt-get update \
&& apt-get install /tmp/ros2-apt-source.deb \
&& rm -f /tmp/ros2-apt-source.deb
Expand Down
26 changes: 10 additions & 16 deletions ros2/nightly/nightly/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ RUN echo 'Etc/UTC' > /etc/timezone && \
# install packages
RUN apt-get update && apt-get install -q -y --no-install-recommends \
bash-completion \
ca-certificates \
cmake \
curl \
dirmngr \
git \
gnupg2 \
Expand All @@ -37,18 +39,10 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \
wget \
&& rm -rf /var/lib/apt/lists/*

# setup keys
RUN set -eux; \
key='C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'; \
export GNUPGHOME="$(mktemp -d)"; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
mkdir -p /usr/share/keyrings; \
gpg --batch --export "$key" > /usr/share/keyrings/ros2-testing-archive-keyring.gpg; \
gpgconf --kill all; \
rm -rf "$GNUPGHOME"

# setup sources.list
RUN echo "deb [ signed-by=/usr/share/keyrings/ros2-testing-archive-keyring.gpg ] http://packages.ros.org/ros2-testing/ubuntu noble main" > /etc/apt/sources.list.d/ros2-testing.list
RUN curl -L -s -o /tmp/ros2-testing-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/1.1.0/ros2-testing-apt-source_1.1.0.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" \
&& apt-get update \
&& apt-get install /tmp/ros2-testing-apt-source.deb \
&& rm -f /tmp/ros2-testing-apt-source.deb

# install bootstrap tools
RUN apt-get update && apt-get install --no-install-recommends -y \
Expand All @@ -61,10 +55,10 @@ RUN apt-get update && apt-get install --no-install-recommends -y \
&& rm -rf /var/lib/apt/lists/*

# setup environment
ENV ROS_DISTRO rolling
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
ENV ROSDISTRO_INDEX_URL https://raw.githubusercontent.com/osrf/docker_images/master/ros2/nightly/nightly/index-v4.yaml
ENV ROS_DISTRO=rolling
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
ENV ROSDISTRO_INDEX_URL=https://raw.githubusercontent.com/osrf/docker_images/master/ros2/nightly/nightly/index-v4.yaml

# This is a workaround for pytest not found causing builds to fail
# Following RUN statements tests for regression of https://github.com/ros2/ros2/issues/722
Expand Down
30 changes: 13 additions & 17 deletions ros2/source/devel/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
FROM ubuntu:noble-20250404
# This is an auto generated Dockerfile for ros2:devel
# generated from docker_images_ros2/devel/create_ros_image.Dockerfile.em
ARG FROM_IMAGE=ubuntu:noble
FROM $FROM_IMAGE

# setup timezone
RUN echo 'Etc/UTC' > /etc/timezone && \
Expand All @@ -10,6 +13,8 @@ RUN echo 'Etc/UTC' > /etc/timezone && \
# install packages
RUN apt-get update && apt-get install -q -y --no-install-recommends \
bash-completion \
ca-certificates \
curl \
dirmngr \
gnupg2 \
python3-argcomplete \
Expand All @@ -22,7 +27,6 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \
python3-flake8-docstrings \
python3-flake8-import-order \
python3-flake8-quotes \
python3-pip \
python3-pytest-cov \
python3-pytest-mock \
python3-pytest-repeat \
Expand All @@ -31,22 +35,15 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \
python3-pytest-timeout \
&& rm -rf /var/lib/apt/lists/*

# setup keys
RUN set -eux; \
key='C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'; \
export GNUPGHOME="$(mktemp -d)"; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
mkdir -p /usr/share/keyrings; \
gpg --batch --export "$key" > /usr/share/keyrings/ros2-latest-archive-keyring.gpg; \
gpgconf --kill all; \
rm -rf "$GNUPGHOME"

# setup sources.list
RUN echo "deb [ signed-by=/usr/share/keyrings/ros2-latest-archive-keyring.gpg ] http://packages.ros.org/ros2/ubuntu noble main" > /etc/apt/sources.list.d/ros2-latest.list
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.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" \
&& apt-get update \
&& apt-get install /tmp/ros2-apt-source.deb \
&& rm -f /tmp/ros2-apt-source.deb

# setup environment
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8

# install bootstrap tools
RUN apt-get update && apt-get install --no-install-recommends -y \
Expand All @@ -55,7 +52,6 @@ RUN apt-get update && apt-get install --no-install-recommends -y \
python3-colcon-common-extensions \
python3-colcon-mixin \
python3-rosdep \
python3-setuptools \
python3-vcstool \
&& rm -rf /var/lib/apt/lists/*

Expand All @@ -77,7 +73,7 @@ RUN colcon mixin add default \
colcon metadata update

# clone source
ENV ROS2_WS /opt/ros2_ws
ENV ROS2_WS=/opt/ros2_ws
RUN mkdir -p $ROS2_WS/src
WORKDIR $ROS2_WS

Expand Down
25 changes: 13 additions & 12 deletions ros2/source/source/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,28 @@
ARG FROM_IMAGE=osrf/ros2:devel
FROM $FROM_IMAGE

# set environment
ARG ROS_DISTRO=rolling
# install packages
RUN apt-get update && apt-get install -q -y --no-install-recommends \
libasio-dev \
libssl-dev \
libtinyxml2-dev \
wget \
&& rm -rf /var/lib/apt/lists/*
ARG ROS_DISTRO=humble
ENV ROS_DISTRO=$ROS_DISTRO
ENV ROS_VERSION=2 \
ROS_PYTHON_VERSION=3

# clone source
ARG ROS2_BRANCH=$ROS_DISTRO
ARG ROS2_REPO=https://github.com/ros2/ros2.git
RUN git clone $ROS2_REPO -b $ROS2_BRANCH \
&& vcs import src < ros2/ros2.repos
WORKDIR $ROS2_WS

RUN wget https://raw.githubusercontent.com/ros2/ros2/$ROS_DISTRO-release/ros2.repos \
&& vcs import src < ros2.repos

# install dependencies
RUN apt-get update && rosdep install -y \
--from-paths src \
--ignore-src \
--skip-keys " \
fastcdr \
rti-connext-dds-6.0.1 \
urdfdom_headers" \
--skip-keys "console_bridge fastcdr fastrtps libopensplice69 rti-connext-dds-6.0.1 urdfdom_headers" \
&& rm -rf /var/lib/apt/lists/*

# build source
Expand All @@ -33,7 +35,6 @@ RUN colcon \
--mixin build-testing-on release \
--cmake-args --no-warn-unused-cli

# test build
ARG RUN_TESTS
ARG FAIL_ON_TEST_FAILURE
RUN if [ ! -z "$RUN_TESTS" ]; then \
Expand Down
Loading
Loading