Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ros] Release ROS foxy images and make them latest #8138

Merged
merged 1 commit into from
Jun 6, 2020

Conversation

mikaelarguedas
Copy link
Contributor

Images for the new ROS 2 release: Foxy Fitzroy
This is a new LTS and will be the target of the latest tag.

@github-actions
Copy link

github-actions bot commented Jun 5, 2020

Diff for 5800824:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index 5218c46..4a2bc55 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -11,6 +11,11 @@ Architectures: amd64, arm32v7, arm64v8
 GitCommit: 0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58
 Directory: ros/eloquent/ubuntu/bionic/ros-core
 
+Tags: foxy-ros-core, foxy-ros-core-focal
+Architectures: amd64, arm64v8
+GitCommit: 03c81bdfa9d3b185ac009d9a8ecea26ccd85e179
+Directory: ros/foxy/ubuntu/focal/ros-core
+
 Tags: kinetic-ros-core, kinetic-ros-core-xenial
 Architectures: amd64, arm32v7, arm64v8
 GitCommit: 0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58
@@ -46,12 +51,17 @@ Architectures: amd64, arm32v7, arm64v8
 GitCommit: 0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58
 Directory: ros/eloquent/ubuntu/bionic/ros-base
 
+Tags: foxy-ros-base, foxy-ros-base-focal, foxy, latest
+Architectures: amd64, arm64v8
+GitCommit: 03c81bdfa9d3b185ac009d9a8ecea26ccd85e179
+Directory: ros/foxy/ubuntu/focal/ros-base
+
 Tags: kinetic-ros-base, kinetic-ros-base-xenial, kinetic
 Architectures: amd64, arm32v7, arm64v8
 GitCommit: 0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58
 Directory: ros/kinetic/ubuntu/xenial/ros-base
 
-Tags: melodic-ros-base, melodic-ros-base-bionic, melodic, latest
+Tags: melodic-ros-base, melodic-ros-base-bionic, melodic
 Architectures: amd64, arm32v7, arm64v8
 GitCommit: 0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58
 Directory: ros/melodic/ubuntu/bionic/ros-base
diff --git a/_bashbrew-list b/_bashbrew-list
index 76990fb..3a2a7b8 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -8,6 +8,11 @@ ros:eloquent-ros-base
 ros:eloquent-ros-base-bionic
 ros:eloquent-ros-core
 ros:eloquent-ros-core-bionic
+ros:foxy
+ros:foxy-ros-base
+ros:foxy-ros-base-focal
+ros:foxy-ros-core
+ros:foxy-ros-core-focal
 ros:kinetic
 ros:kinetic-perception
 ros:kinetic-perception-xenial
diff --git a/ros_dashing-ros-core-bionic/Dockerfile b/ros_foxy-ros-core-focal/Dockerfile
similarity index 83%
copy from ros_dashing-ros-core-bionic/Dockerfile
copy to ros_foxy-ros-core-focal/Dockerfile
index 4e6ba4d..273abb0 100644
--- a/ros_dashing-ros-core-bionic/Dockerfile
+++ b/ros_foxy-ros-core-focal/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:bionic
+FROM ubuntu:focal
 
 # setup timezone
 RUN echo 'Etc/UTC' > /etc/timezone && \
@@ -19,17 +19,17 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \
 RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
 
 # setup sources.list
-RUN echo "deb http://packages.ros.org/ros2/ubuntu bionic main" > /etc/apt/sources.list.d/ros2-latest.list
+RUN echo "deb http://packages.ros.org/ros2/ubuntu focal main" > /etc/apt/sources.list.d/ros2-latest.list
 
 # setup environment
 ENV LANG C.UTF-8
 ENV LC_ALL C.UTF-8
 
-ENV ROS_DISTRO dashing
+ENV ROS_DISTRO foxy
 
 # install ros2 packages
 RUN apt-get update && apt-get install -y --no-install-recommends \
-    ros-dashing-ros-core=0.7.3-1* \
+    ros-foxy-ros-core=0.9.1-1* \
     && rm -rf /var/lib/apt/lists/*
 
 # setup entrypoint
diff --git a/ros_dashing-ros-core-bionic/ros_entrypoint.sh b/ros_foxy-ros-core-focal/ros_entrypoint.sh
similarity index 100%
copy from ros_dashing-ros-core-bionic/ros_entrypoint.sh
copy to ros_foxy-ros-core-focal/ros_entrypoint.sh
diff --git a/ros_latest/Dockerfile b/ros_latest/Dockerfile
index e8a911e..a528e9b 100644
--- a/ros_latest/Dockerfile
+++ b/ros_latest/Dockerfile
@@ -1,21 +1,31 @@
 # This is an auto generated Dockerfile for ros:ros-base
-# generated from docker_images/create_ros_image.Dockerfile.em
-FROM ros:melodic-ros-core-bionic
+# generated from docker_images_ros2/create_ros_image.Dockerfile.em
+FROM ros:foxy-ros-core-focal
 
 # install bootstrap tools
 RUN apt-get update && apt-get install --no-install-recommends -y \
     build-essential \
-    python-rosdep \
-    python-rosinstall \
-    python-vcstools \
+    git \
+    python3-colcon-common-extensions \
+    python3-colcon-mixin \
+    python3-rosdep \
+    python3-vcstool \
     && rm -rf /var/lib/apt/lists/*
 
 # bootstrap rosdep
 RUN rosdep init && \
   rosdep update --rosdistro $ROS_DISTRO
 
-# install ros packages
+# setup colcon mixin and metadata
+RUN colcon mixin add default \
+      https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml && \
+    colcon mixin update && \
+    colcon metadata add default \
+      https://raw.githubusercontent.com/colcon/colcon-metadata-repository/master/index.yaml && \
+    colcon metadata update
+
+# install ros2 packages
 RUN apt-get update && apt-get install -y --no-install-recommends \
-    ros-melodic-ros-base=1.4.1-0* \
+    ros-foxy-ros-base=0.9.1-1* \
     && rm -rf /var/lib/apt/lists/*
 
diff --git a/ros_latest/Dockerfile b/ros_melodic/Dockerfile
similarity index 100%
copy from ros_latest/Dockerfile
copy to ros_melodic/Dockerfile

@yosifkit
Copy link
Member

yosifkit commented Jun 5, 2020

I have two concerns. Are the yml files from colcon/*/master branches going to ever cause an issue when images are rebuilt monthly when ubuntu images get updated? I see that they are downloaded over https which is good, are they released files that could also be gpp or at least sha256sum verified (https://github.com/docker-library/official-images/tree/c39fe063841e2fecbb89c8125bbdaeff86730cd3#image-build)?

@ruffsl
Copy link
Contributor

ruffsl commented Jun 5, 2020

Are the yml files from colcon/*/master branches going to ever cause an issue when images are rebuilt monthly when ubuntu images get updated?

These files are simple aliases so users can specify generic build flags to the build system, e.g. release vs debug. e.g.:

https://github.com/ros-planning/navigation2/blob/9e304b1ad4c10d03f7a08991224fd9686c6bb26d/Dockerfile#L58-L63

are they released files that could also be gpp or at least sha256sum verified

There is no formal release cycle for these community mixins, as they are relatively unchanging but I'd prefer not to pin them down as we're not pinning the other non-ros packages. It'd also take a lot more templating that we don't have the infra for currently.

Lastly, we've already been doing this for the last 4 ros2 distro tags.

@yosifkit yosifkit merged commit 859054a into docker-library:master Jun 6, 2020
@mikaelarguedas mikaelarguedas deleted the foxy branch June 6, 2020 00:34
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.

3 participants