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

Add images for Jazzy testing #741

Merged
merged 2 commits into from
Apr 30, 2024
Merged
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
78 changes: 78 additions & 0 deletions ros/jazzy/ubuntu/noble/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
all: help

help:
@echo ""
@echo "-- Help Menu"
@echo ""
@echo " 1. make build - build all images"
@echo " 2. make pull - pull all images"
@echo " 3. make clean - remove all images"
@echo ""

build:
@docker build --tag=ros:jazzy-ros-core-noble ros-core/.
@docker build --tag=ros:jazzy-ros-base-noble ros-base/.
@docker build --tag=ros:jazzy-perception-noble perception/.
@docker build --tag=osrf/ros:jazzy-simulation-noble simulation/.
@docker build --tag=osrf/ros:jazzy-desktop-noble desktop/.
@docker build --tag=osrf/ros:jazzy-desktop-full-noble desktop-full/.

pull:
@docker pull ros:jazzy-ros-core-noble
@docker pull ros:jazzy-ros-base-noble
@docker pull ros:jazzy-perception-noble
# @docker pull osrf/ros:jazzy-simulation-noble
# @docker pull osrf/ros:jazzy-desktop-noble
# @docker pull osrf/ros:jazzy-desktop-full-noble

clean:
@docker rmi -f ros:jazzy-ros-core-noble
@docker rmi -f ros:jazzy-ros-base-noble
@docker rmi -f ros:jazzy-perception-noble
# @docker rmi -f osrf/ros:jazzy-simulation-noble
# @docker rmi -f osrf/ros:jazzy-desktop-noble
# @docker rmi -f osrf/ros:jazzy-desktop-full-noble

ci_buildx:
@docker buildx build --pull --push \
--cache-from=type=registry,ref=osrf/ros:jazzy-desktop-noble \
--cache-to=type=inline \
--tag=osrf/ros:jazzy-desktop-noble \
desktop/.
@if [ "ubuntu" = "ubuntu" ]; then \
docker pull \
osrf/ros:jazzy-desktop-noble; \
docker tag \
osrf/ros:jazzy-desktop-noble \
osrf/ros:jazzy-desktop; \
docker push \
osrf/ros:jazzy-desktop; \
fi
@docker buildx build --pull --push \
--cache-from=type=registry,ref=osrf/ros:jazzy-simulation-noble \
--cache-to=type=inline \
--tag=osrf/ros:jazzy-simulation-noble \
simulation/.
@if [ "ubuntu" = "ubuntu" ]; then \
docker pull \
osrf/ros:jazzy-simulation-noble; \
docker tag \
osrf/ros:jazzy-simulation-noble \
osrf/ros:jazzy-simulation; \
docker push \
osrf/ros:jazzy-simulation; \
fi
@docker buildx build --pull --push \
--cache-from=type=registry,ref=osrf/ros:jazzy-desktop-full-noble \
--cache-to=type=inline \
--tag=osrf/ros:jazzy-desktop-full-noble \
desktop-full/.
@if [ "ubuntu" = "ubuntu" ]; then \
docker pull \
osrf/ros:jazzy-desktop-full-noble; \
docker tag \
osrf/ros:jazzy-desktop-full-noble \
osrf/ros:jazzy-desktop-full; \
docker push \
osrf/ros:jazzy-desktop-full; \
fi
9 changes: 9 additions & 0 deletions ros/jazzy/ubuntu/noble/desktop-full/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# This is an auto generated Dockerfile for ros:desktop-full
# generated from docker_images_ros2/create_ros_image.Dockerfile.em
FROM osrf/ros:jazzy-desktop-noble

# install ros2 packages
RUN apt-get update && apt-get install -y --no-install-recommends \
ros-jazzy-desktop-full=0.10.0-4* \
&& rm -rf /var/lib/apt/lists/*

9 changes: 9 additions & 0 deletions ros/jazzy/ubuntu/noble/desktop/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# This is an auto generated Dockerfile for ros:desktop
# generated from docker_images_ros2/create_ros_image.Dockerfile.em
FROM ros:jazzy-ros-base-noble

# install ros2 packages
RUN apt-get update && apt-get install -y --no-install-recommends \
ros-jazzy-desktop=0.10.0-4* \
&& rm -rf /var/lib/apt/lists/*

54 changes: 54 additions & 0 deletions ros/jazzy/ubuntu/noble/images.yaml.em
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
%YAML 1.1
# ROS2 Dockerfile database
---
images:
ros-core:
base_image: @(os_name):@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images_ros2/create_ros_core_image.Dockerfile.em
entrypoint_name: docker_images_ros2/ros_entrypoint.sh
template_packages:
- docker_templates
ros2_packages:
- ros-core
ros-base:
base_image: @(user_name):@(ros2distro_name)-ros-core-@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images_ros2/create_ros_image.Dockerfile.em
template_packages:
- docker_templates
ros2_packages:
- ros-base
bootstrap_ros_tools:
perception:
base_image: @(user_name):@(ros2distro_name)-ros-base-@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images_ros2/create_ros_image.Dockerfile.em
template_packages:
- docker_templates
ros2_packages:
- perception
simulation:
base_image: @(user_name):@(ros2distro_name)-ros-base-@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images_ros2/create_ros_image.Dockerfile.em
template_packages:
- docker_templates
ros2_packages:
- simulation
desktop:
base_image: @(user_name):@(ros2distro_name)-ros-base-@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images_ros2/create_ros_image.Dockerfile.em
template_packages:
- docker_templates
ros2_packages:
- desktop
desktop-full:
base_image: osrf/@(user_name):@(ros2distro_name)-desktop-@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images_ros2/create_ros_image.Dockerfile.em
template_packages:
- docker_templates
ros2_packages:
- desktop-full
9 changes: 9 additions & 0 deletions ros/jazzy/ubuntu/noble/perception/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# This is an auto generated Dockerfile for ros:perception
# generated from docker_images_ros2/create_ros_image.Dockerfile.em
FROM ros:jazzy-ros-base-noble

# install ros2 packages
RUN apt-get update && apt-get install -y --no-install-recommends \
ros-jazzy-perception=0.10.0-4* \
&& rm -rf /var/lib/apt/lists/*

12 changes: 12 additions & 0 deletions ros/jazzy/ubuntu/noble/platform.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
%YAML 1.1
# ROS2 Dockerfile database
---
platform:
os_name: ubuntu
os_code_name: noble
ros2distro_name: jazzy
user_name: ros
maintainer_name:
arch: amd64
type: distribution
version:
31 changes: 31 additions & 0 deletions ros/jazzy/ubuntu/noble/ros-base/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This is an auto generated Dockerfile for ros:ros-base
# generated from docker_images_ros2/create_ros_image.Dockerfile.em
FROM ros:jazzy-ros-core-noble

# install bootstrap tools
RUN apt-get update && apt-get install --no-install-recommends -y \
build-essential \
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

# 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-jazzy-ros-base=0.10.0-4* \
&& rm -rf /var/lib/apt/lists/*

46 changes: 46 additions & 0 deletions ros/jazzy/ubuntu/noble/ros-core/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# This is an auto generated Dockerfile for ros:ros-core
# generated from docker_images_ros2/create_ros_core_image.Dockerfile.em
FROM ubuntu:noble

# setup timezone
RUN echo 'Etc/UTC' > /etc/timezone && \
ln -s /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
apt-get update && \
apt-get install -q -y --no-install-recommends tzdata && \
rm -rf /var/lib/apt/lists/*

# install packages
RUN apt-get update && apt-get install -q -y --no-install-recommends \
dirmngr \
gnupg2 \
&& 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

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

ENV ROS_DISTRO jazzy

# install ros2 packages
RUN apt-get update && apt-get install -y --no-install-recommends \
ros-jazzy-ros-core=0.10.0-4* \
&& rm -rf /var/lib/apt/lists/*

# setup entrypoint
COPY ./ros_entrypoint.sh /

ENTRYPOINT ["/ros_entrypoint.sh"]
CMD ["bash"]
6 changes: 6 additions & 0 deletions ros/jazzy/ubuntu/noble/ros-core/ros_entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash
set -e

# setup ros2 environment
source "/opt/ros/$ROS_DISTRO/setup.bash" --
exec "$@"
9 changes: 9 additions & 0 deletions ros/jazzy/ubuntu/noble/simulation/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# This is an auto generated Dockerfile for ros:simulation
# generated from docker_images_ros2/create_ros_image.Dockerfile.em
FROM ros:jazzy-ros-base-noble

# install ros2 packages
RUN apt-get update && apt-get install -y --no-install-recommends \
ros-jazzy-simulation=0.10.0-4* \
&& rm -rf /var/lib/apt/lists/*

24 changes: 24 additions & 0 deletions ros/manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -598,6 +598,30 @@ release_names:
aliases:
- "$release_name-perception"
- "$release_name-perception-$os_code_name"
jazzy:
eol: 2029-05
os_names:
ubuntu:
os_code_names:
noble:
<<: *DEFAULT_ROS2
archs:
- amd64
- arm64v8
tag_names:
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"
rolling:
eol: 2022-05
os_names:
Expand Down
22 changes: 22 additions & 0 deletions ros/ros
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,28 @@ GitCommit: bca53bf4c09d771be3ff735da4157203b53ebc2b
Directory: ros/iron/ubuntu/jammy/perception


################################################################################
# Release: jazzy

########################################
# Distro: ubuntu:noble

Tags: jazzy-ros-core, jazzy-ros-core-noble
Architectures: amd64, arm64v8
GitCommit: 543aabeed37ee905ac3737fd38ffbc9894e997db
Directory: ros/jazzy/ubuntu/noble/ros-core

Tags: jazzy-ros-base, jazzy-ros-base-noble, jazzy
Architectures: amd64, arm64v8
GitCommit: 543aabeed37ee905ac3737fd38ffbc9894e997db
Directory: ros/jazzy/ubuntu/noble/ros-base

Tags: jazzy-perception, jazzy-perception-noble
Architectures: amd64, arm64v8
GitCommit: 543aabeed37ee905ac3737fd38ffbc9894e997db
Directory: ros/jazzy/ubuntu/noble/perception
Comment on lines +81 to +94
Copy link
Contributor

@sloretz sloretz Apr 30, 2024

Choose a reason for hiding this comment

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

I can confirm desktop works from the ros2-testing apt repo, and it looks like desktop_full is should work now too edit: incorrect; only desktop is installable for now.

https://repo.ros2.org/status_page/ros_jazzy_default.html?q=variant

Copy link
Contributor Author

@mikaelarguedas mikaelarguedas Apr 30, 2024

Choose a reason for hiding this comment

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

Thanks for the heads up! It was not the case when I initially opened this.
Then I'll add it to ci here so that we get the automated build / push of these images as well

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@sloretz FYI seem that its the same as before -> the ros ign packages are not installable (both on rolling and jazzy):

5.308 The following packages have unmet dependencies:
5.389  ros-jazzy-simulation : Depends: ros-jazzy-ros-ign-bridge but it is not installable
5.389                         Depends: ros-jazzy-ros-ign-gazebo but it is not installable
5.389                         Depends: ros-jazzy-ros-ign-image but it is not installable
5.389                         Depends: ros-jazzy-ros-ign-interfaces but it is not installable
5.392 E: Unable to correct problems, you have held broken packages.
------
Dockerfile:6
--------------------
   5 |     # install ros2 packages
   6 | >>> RUN apt-get update && apt-get install -y --no-install-recommends \
   7 | >>>     ros-jazzy-simulation=0.10.0-4* \
   8 | >>>     && rm -rf /var/lib/apt/lists/*
   9 |     
--------------------

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's not clear to me what is now the right place to report this type of issue.
What would you recommend @sloretz ? ros/rosdistro ?

Copy link
Contributor

Choose a reason for hiding this comment

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

It's not clear to me what is now the right place to report this type of issue.
What would you recommend @sloretz ? ros/rosdistro ?

That or https://github.com/ros2/ros2

@clalancette FYI Seems like there might be an install issue with ros-jazzy-simulation.

Choose a reason for hiding this comment

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

Yeah, we have to land ros2/variants#42 , and then re-release. That should unblock this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

👍

PR following the new release of the variants for jazzy: #742



################################################################################
# Release: rolling

Expand Down