diff --git a/.github/workflows/generate_agent_docker.yml b/.github/workflows/generate_agent_docker.yml index 833583e..2c07b43 100644 --- a/.github/workflows/generate_agent_docker.yml +++ b/.github/workflows/generate_agent_docker.yml @@ -19,6 +19,8 @@ jobs: branch: jazzy - ros_distribution: kilted branch: kilted + - ros_distribution: lyrical + branch: lyrical - ros_distribution: rolling branch: rolling steps: diff --git a/.github/workflows/generate_base_docker.yml b/.github/workflows/generate_base_docker.yml index cb316a0..f82e943 100644 --- a/.github/workflows/generate_base_docker.yml +++ b/.github/workflows/generate_base_docker.yml @@ -19,6 +19,8 @@ jobs: branch: jazzy - ros_distribution: kilted branch: kilted + - ros_distribution: lyrical + branch: lyrical - ros_distribution: rolling branch: rolling steps: diff --git a/.github/workflows/generate_libgen_docker.yml b/.github/workflows/generate_libgen_docker.yml index 2d1514d..d49d7aa 100644 --- a/.github/workflows/generate_libgen_docker.yml +++ b/.github/workflows/generate_libgen_docker.yml @@ -19,6 +19,8 @@ jobs: branch: jazzy - ros_distribution: kilted branch: kilted + - ros_distribution: lyrical + branch: lyrical - ros_distribution: rolling branch: rolling steps: diff --git a/README.md b/README.md index 66e22ab..f67f06d 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,11 @@ The available images are listed below: | Image | Description | Status | | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | -| base | Base image with a ROS 2 installation + micro-ROS specific build system tools. | [![Version](https://img.shields.io/docker/v/microros/base/humble?logo=docker)](https://hub.docker.com/r/microros/base/tags?page=1&name=humble) [![Version](https://img.shields.io/docker/v/microros/base/jazzy?logo=docker)](https://hub.docker.com/r/microros/base/tags?page=1&name=jazzy) [![Version](https://img.shields.io/docker/v/microros/base/kilted?logo=docker)](https://hub.docker.com/r/microros/base/tags?page=1&name=kilted) [![Version](https://img.shields.io/docker/v/microros/base/rolling?logo=docker)](https://hub.docker.com/r/microros/base/tags?page=1&name=rolling) | -| micro-ros-agent | Image containing a pre-compiled micro-ROS-Agent, ready to use as a standalone application | [![Version](https://img.shields.io/docker/v/microros/micro-ros-agent/humble?logo=docker)](https://hub.docker.com/r/microros/micro-ros-agent/tags?page=1&name=humble) [![Version](https://img.shields.io/docker/v/microros/base/jazzy?logo=docker)](https://hub.docker.com/r/microros/micro-ros-agent/tags?page=1&name=jazzy) [![Version](https://img.shields.io/docker/v/microros/micro-ros-agent/kilted?logo=docker)](https://hub.docker.com/r/microros/micro-ros-agent/tags?page=1&name=kilted) [![Version](https://img.shields.io/docker/v/microros/micro-ros-agent/rolling?logo=docker)](https://hub.docker.com/r/microros/micro-ros-agent/tags?page=1&name=rolling) | -| micro_ros_static_library_builder | Allows to use a pre-compiled micro-ROS library to develop applications using external environments, such as Arduino IDE | [![Version](https://img.shields.io/docker/v/microros/micro_ros_static_library_builder/humble?logo=docker)](https://hub.docker.com/r/microros/micro_ros_static_library_builder/tags?page=1&name=humble) [![Version](https://img.shields.io/docker/v/microros/base/jazzy?logo=docker)](https://hub.docker.com/r/microros/micro_ros_static_library_builder/tags?page=1&name=jazzy) [![Version](https://img.shields.io/docker/v/microros/micro_ros_static_library_builder/kilted?logo=docker)](https://hub.docker.com/r/microros/micro_ros_static_library_builder/tags?page=1&name=kilted) [![Version](https://img.shields.io/docker/v/microros/micro_ros_static_library_builder/rolling?logo=docker)](https://hub.docker.com/r/microros/micro_ros_static_library_builder/tags?page=1&name=rolling) | +| base | Base image with a ROS 2 installation + micro-ROS specific build system tools. | [![Version](https://img.shields.io/docker/v/microros/base/humble?logo=docker)](https://hub.docker.com/r/microros/base/tags?page=1&name=humble) [![Version](https://img.shields.io/docker/v/microros/base/jazzy?logo=docker)](https://hub.docker.com/r/microros/base/tags?page=1&name=jazzy) [![Version](https://img.shields.io/docker/v/microros/base/kilted?logo=docker)](https://hub.docker.com/r/microros/base/tags?page=1&name=kilted) [![Version](https://img.shields.io/docker/v/microros/base/lyrical?logo=docker)](https://hub.docker.com/r/microros/base/tags?page=1&name=lyrical) [![Version](https://img.shields.io/docker/v/microros/base/rolling?logo=docker)](https://hub.docker.com/r/microros/base/tags?page=1&name=rolling) | +| micro-ros-agent | Image containing a pre-compiled micro-ROS-Agent, ready to use as a standalone application | [![Version](https://img.shields.io/docker/v/microros/micro-ros-agent/humble?logo=docker)](https://hub.docker.com/r/microros/micro-ros-agent/tags?page=1&name=humble) [![Version](https://img.shields.io/docker/v/microros/micro-ros-agent/jazzy?logo=docker)](https://hub.docker.com/r/microros/micro-ros-agent/tags?page=1&name=jazzy) [![Version](https://img.shields.io/docker/v/microros/micro-ros-agent/kilted?logo=docker)](https://hub.docker.com/r/microros/micro-ros-agent/tags?page=1&name=kilted) [![Version](https://img.shields.io/docker/v/microros/micro-ros-agent/lyrical?logo=docker)](https://hub.docker.com/r/microros/micro-ros-agent/tags?page=1&name=lyrical) [![Version](https://img.shields.io/docker/v/microros/micro-ros-agent/rolling?logo=docker)](https://hub.docker.com/r/microros/micro-ros-agent/tags?page=1&name=rolling) | +| micro_ros_static_library_builder | Allows to use a pre-compiled micro-ROS library to develop applications using external environments, such as Arduino IDE | [![Version](https://img.shields.io/docker/v/microros/micro_ros_static_library_builder/humble?logo=docker)](https://hub.docker.com/r/microros/micro_ros_static_library_builder/tags?page=1&name=humble) [![Version](https://img.shields.io/docker/v/microros/micro_ros_static_library_builder/jazzy?logo=docker)](https://hub.docker.com/r/microros/micro_ros_static_library_builder/tags?page=1&name=jazzy) [![Version](https://img.shields.io/docker/v/microros/micro_ros_static_library_builder/kilted?logo=docker)](https://hub.docker.com/r/microros/micro_ros_static_library_builder/tags?page=1&name=kilted) [![Version](https://img.shields.io/docker/v/microros/micro_ros_static_library_builder/lyrical?logo=docker)](https://hub.docker.com/r/microros/micro_ros_static_library_builder/tags?page=1&name=lyrical) [![Version](https://img.shields.io/docker/v/microros/micro_ros_static_library_builder/rolling?logo=docker)](https://hub.docker.com/r/microros/micro_ros_static_library_builder/tags?page=1&name=rolling) | | micro-ros-demos | Contains pre-compiled micro-ROS demo applications, ready to use to get a taste of micro-ROS capabilities (**discontinued**) | [![Version](https://img.shields.io/docker/v/microros/micro-ros-demos/foxy?logo=docker)](https://hub.docker.com/r/microros/micro-ros-demos/tags?page=1&name=foxy) | -| micro-ros-olimex-nuttx | Contains a ready to flash example for Olimex STM32 E407 (**discontinued**) | [![Version](https://img.shields.io/docker/v/microros/micro-ros-demos/dashing?logo=docker)](https://hub.docker.com/r/microros/micro-ros-demos/tags?page=1&name=dashing) | +| micro-ros-olimex-nuttx | Contains a ready to flash example for Olimex STM32 E407 (**discontinued**) | [![Version](https://img.shields.io/docker/v/microros/micro-ros-olimex-nuttx/dashing?logo=docker)](https://hub.docker.com/r/microros/micro-ros-olimex-nuttx/tags?page=1&name=dashing) | | esp-idf-microros | Allows to use micro-ROS as a component of the ESP-IDF build system (**discontinued**) | [![Version](https://img.shields.io/docker/v/microros/esp-idf-microros/latest?logo=docker)](https://hub.docker.com/r/microros/esp-idf-microros/tags?page=1&name=latest) | ![](http://www.plantuml.com/plantuml/svg/VP71JiCm38RlUGfhzsXtn65lW0GFC6M9kreqpMHdWaeyF6v26b3HRlRt_wxzDoV9ZlCzJiQC510yiP-mrXXlUO68yO8incJA4q8apyc-lhn1IFuT6IYwAmgCXEpOZuinVd8YS42vCOhGSAGm7C09RAHPECdJa3wNece3JIXR51mlJh1RrcvdgHTfPVMGENTtQH_O0yRV-qlxl_sirTbnkDES-i0Fs8reJAkHRGDzGYaOemYUlsn87xCjaHfXkexPRjzTfMwiQVwoUlBsMxjG5vrm3klJVWC0) @@ -33,11 +33,11 @@ To get an image, use the `docker pull` command: You can select the preferred tag by appending `:tag` to the image name -* e.g. `docker pull microros/base:rolling` +* e.g. `docker pull microros/base:lyrical` Once you have the image locally, type `docker run` to start it. It is not mandatory, although usually useful, to launch your containers using the `--rm` and `--net=host` flags: -* e.g. `docker run -it --rm --net=host microros/micro-ros-agent:rolling` +* e.g. `docker run -it --rm --net=host microros/micro-ros-agent:lyrical` `--rm` makes sure that the docker image will be removed after exiting. `--net=host` provides the container with the same network access as the host. @@ -58,7 +58,7 @@ This image is meant to be used as a stand-alone application. It includes the installation of the ROS 2 version selected by the tag selected, together with a micro-ROS Agent. The entry point of this image is directly the micro-ROS Agent, so upon execution of `docker run` you will be facing the micro-ROS Agent command line input. Running: -* e.g. `docker run -it --net=host microros/micro-ros-agent:rolling udp4 -p 9999` +* e.g. `docker run -it --net=host microros/micro-ros-agent:lyrical udp4 -p 9999` will start a micro-ROS Agent listening to UDP messages on port 9999. @@ -78,7 +78,7 @@ The currently available examples are listed [here](https://github.com/micro-ROS/ This image provides you with a ready-to-flash firmware for Olimex-STM32-E407 boards with demos included. To be able to flash, you need to map your devices to the Docker container as follows: -* e.g. `docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb microros/micro-ros-olimex-nuttx:rolling` +* e.g. `docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb microros/micro-ros-olimex-nuttx:lyrical` Once inside the container, you can flash the board by running `scripts/flash.sh` from the `firmware/NuttX` directory. @@ -91,7 +91,7 @@ Once a Client-Agent communication is established you can use ROS 2 tools to view The `micro_ros_static_library_builder` docker image provides you with a set of include files and pre-compiled micro-ROS libraries to develop your micro-ROS application within the Arduino IDE environment. To be able to use it, use the following command to instantiate a container of this image: -* e.g. `docker run -it -v $(pwd):/arduino_project --net=host microros/micro_ros_static_library_builder:rolling`. +* e.g. `docker run -it -v $(pwd):/arduino_project --net=host microros/micro_ros_static_library_builder:lyrical`. Note that folders added to `extras/library_generation/extra_packages` and entries added to `extras/library_generation/extra_packages/extra_packages.repos` will be taken into account by this build system. @@ -108,7 +108,7 @@ Then, you can navigate to your example aplications and build it using the ESP ID ## Automated builds These Dockerfiles are used for automatically creating images on Docker Hub. -These builds are tagged with the ROS 2 version they will be compatible with: e.g. foxy, rolling... +These builds are tagged with the ROS 2 version they will be compatible with: e.g. lyrical, rolling... The latest tag will always correspond to the latest release of ROS 2. These automatic builds have a direct relationship with the content of the micro-ROS repositories: diff --git a/base/Dockerfile b/base/Dockerfile index 00d0392..2df15ef 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -1,8 +1,8 @@ -FROM ros:rolling +FROM ros:lyrical WORKDIR /uros_ws -RUN git clone --depth 1 -b rolling https://github.com/micro-ROS/micro_ros_setup.git src/micro_ros_setup \ +RUN git clone --depth 1 -b lyrical https://github.com/micro-ROS/micro_ros_setup.git src/micro_ros_setup \ && . /opt/ros/$ROS_DISTRO/setup.sh \ && apt update \ && apt install -y ed python3-pip \ diff --git a/micro-ROS-Agent/Dockerfile b/micro-ROS-Agent/Dockerfile index 50a8dc6..086b758 100644 --- a/micro-ROS-Agent/Dockerfile +++ b/micro-ROS-Agent/Dockerfile @@ -1,14 +1,14 @@ -FROM microros/base:rolling AS micro-ros-agent-builder +FROM ros:lyrical AS micro-ros-agent-builder +ARG DEBIAN_FRONTEND=noninteractive WORKDIR /uros_ws RUN . /opt/ros/$ROS_DISTRO/setup.sh \ -&& . install/local_setup.sh \ -&& apt update \ -&& ros2 run micro_ros_setup create_agent_ws.sh \ -&& ros2 run micro_ros_setup build_agent.sh \ +&& git clone -b $ROS_DISTRO https://github.com/micro-ROS/micro_ros_msgs src/micro_ros_msgs \ +&& git clone -b $ROS_DISTRO https://github.com/micro-ROS/micro-ROS-Agent src/micro-ROS-Agent \ +&& colcon build \ && rm -rf log/ build/ src/ -FROM ros:rolling-ros-core +FROM ros:lyrical-ros-core COPY --from=micro-ros-agent-builder /uros_ws /uros_ws diff --git a/micro-ROS-demos/Dockerfile b/micro-ROS-demos/Dockerfile index 4a09cec..02aed86 100644 --- a/micro-ROS-demos/Dockerfile +++ b/micro-ROS-demos/Dockerfile @@ -1,4 +1,4 @@ -FROM microros/base:rolling +FROM microros/base:lyrical WORKDIR /uros_ws diff --git a/micro-ROS-static-library-builder/Dockerfile b/micro-ROS-static-library-builder/Dockerfile index c41dd72..0c98baa 100755 --- a/micro-ROS-static-library-builder/Dockerfile +++ b/micro-ROS-static-library-builder/Dockerfile @@ -1,4 +1,4 @@ -FROM ros:rolling +FROM ros:lyrical RUN mkdir -p uros_ws WORKDIR uros_ws @@ -27,7 +27,7 @@ RUN apt update \ && rm -rf xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz # Install micro-ROS -RUN git clone -b rolling https://github.com/micro-ROS/micro-ros-build.git src/micro-ros-build \ +RUN git clone -b lyrical https://github.com/micro-ROS/micro-ros-build.git src/micro-ros-build \ && . /opt/ros/$ROS_DISTRO/setup.sh \ && apt update \ && apt install -y rsync python3-pip python3-nose clang-format pyflakes3 python3-mypy python3-pytest-mock gperf ros-$ROS_DISTRO-osrf-testing-tools-cpp python3-lttng ros-$ROS_DISTRO-mimick-vendor python3-babeltrace \