From d7853f1cb9fbcb27cd121dad09accecf53526774 Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 21 Mar 2023 18:51:04 +0100 Subject: [PATCH 1/3] Refactor configs to actually use empy --- ros/.config/legacy/ros1/Makefile.em | 20 ++--- ros/.config/legacy/ros1/platform.yaml.em | 6 +- ros/.config/legacy/ros2/Makefile.em | 54 ++++++------- ros/.config/legacy/ros2/platform.yaml.em | 8 +- ros/.config/ros1/Makefile.em | 82 ++++++++++---------- ros/.config/ros1/platform.yaml.em | 6 +- ros/.config/ros2/Makefile.em | 98 ++++++++++++------------ ros/.config/ros2/platform.yaml.em | 6 +- 8 files changed, 140 insertions(+), 140 deletions(-) diff --git a/ros/.config/legacy/ros1/Makefile.em b/ros/.config/legacy/ros1/Makefile.em index 445578bec..19be37b87 100644 --- a/ros/.config/legacy/ros1/Makefile.em +++ b/ros/.config/legacy/ros1/Makefile.em @@ -1,19 +1,19 @@ 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 "" + @@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:$release_name-ros-$os_code_name ros/. + @@docker build --tag=ros:@release_name-ros-@os_code_name ros/. pull: - @docker pull ros:$release_name-ros-$os_code_name + @@docker pull ros:@release_name-ros-@os_code_name clean: - @docker rmi -f ros:$release_name-ros-$os_code_name + @@docker rmi -f ros:@release_name-ros-@os_code_name diff --git a/ros/.config/legacy/ros1/platform.yaml.em b/ros/.config/legacy/ros1/platform.yaml.em index 4a164f477..b8bb0598b 100644 --- a/ros/.config/legacy/ros1/platform.yaml.em +++ b/ros/.config/legacy/ros1/platform.yaml.em @@ -2,9 +2,9 @@ # ROS Dockerfile database --- platform: - os_name: $os_name - os_code_name: $os_code_name - rosdistro_name: $release_name + os_name: @os_name + os_code_name: @os_code_name + rosdistro_name: @release_name user_name: ros maintainer_name: arch: amd64 diff --git a/ros/.config/legacy/ros2/Makefile.em b/ros/.config/legacy/ros2/Makefile.em index 044f45b82..52912b86a 100644 --- a/ros/.config/legacy/ros2/Makefile.em +++ b/ros/.config/legacy/ros2/Makefile.em @@ -1,44 +1,44 @@ 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 "" + @@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:$release_name-ros-core-$os_code_name ros-core/. - @docker build --tag=ros:$release_name-ros-base-$os_code_name ros-base/. - @docker build --tag=ros:$release_name-ros1-bridge-$os_code_name ros1-bridge/. - # @docker build --tag=osrf/ros:$release_name-desktop-$os_code_name desktop/. + @@docker build --tag=ros:@release_name-ros-core-@os_code_name ros-core/. + @@docker build --tag=ros:@release_name-ros-base-@os_code_name ros-base/. + @@docker build --tag=ros:@release_name-ros1-bridge-@os_code_name ros1-bridge/. + # @@docker build --tag=osrf/ros:@release_name-desktop-@os_code_name desktop/. pull: - @docker pull ros:$release_name-ros-core-$os_code_name - @docker pull ros:$release_name-ros-base-$os_code_name - @docker pull ros:$release_name-ros1-bridge-$os_code_name - # @docker pull osrf/ros:$release_name-desktop-$os_code_name + @@docker pull ros:@release_name-ros-core-@os_code_name + @@docker pull ros:@release_name-ros-base-@os_code_name + @@docker pull ros:@release_name-ros1-bridge-@os_code_name + # @@docker pull osrf/ros:@release_name-desktop-@os_code_name clean: - @docker rmi -f ros:$release_name-ros-core-$os_code_name - @docker rmi -f ros:$release_name-ros-base-$os_code_name - @docker rmi -f ros:$release_name-ros1-bridge-$os_code_name - # @docker rmi -f osrf/ros:$release_name-desktop-$os_code_name + @@docker rmi -f ros:@release_name-ros-core-@os_code_name + @@docker rmi -f ros:@release_name-ros-base-@os_code_name + @@docker rmi -f ros:@release_name-ros1-bridge-@os_code_name + # @@docker rmi -f osrf/ros:@release_name-desktop-@os_code_name ci_buildx: - @docker buildx build --pull --push \ - --cache-from=type=registry,ref=osrf/ros:$release_name-desktop-$os_code_name \ + @@docker buildx build --pull --push \ + --cache-from=type=registry,ref=osrf/ros:@release_name-desktop-@os_code_name \ --cache-to=type=inline \ - --tag=osrf/ros:$release_name-desktop-$os_code_name \ + --tag=osrf/ros:@release_name-desktop-@os_code_name \ desktop/. - @if [ "$os_name" = "ubuntu" ]; then \ + @@if [ "@os_name" = "ubuntu" ]; then \ docker pull \ - osrf/ros:$release_name-desktop-$os_code_name; \ + osrf/ros:@release_name-desktop-@os_code_name; \ docker tag \ - osrf/ros:$release_name-desktop-$os_code_name \ - osrf/ros:$release_name-desktop; \ + osrf/ros:@release_name-desktop-@os_code_name \ + osrf/ros:@release_name-desktop; \ docker push \ - osrf/ros:$release_name-desktop; \ + osrf/ros:@release_name-desktop; \ fi diff --git a/ros/.config/legacy/ros2/platform.yaml.em b/ros/.config/legacy/ros2/platform.yaml.em index 6ac6d12de..3cb39fa10 100644 --- a/ros/.config/legacy/ros2/platform.yaml.em +++ b/ros/.config/legacy/ros2/platform.yaml.em @@ -2,10 +2,10 @@ # ROS2 Dockerfile database --- platform: - os_name: $os_name - os_code_name: $os_code_name - rosdistro_name: $rosdistro_name - ros2distro_name: $release_name + os_name: @os_name + os_code_name: @os_code_name + rosdistro_name: @rosdistro_name + ros2distro_name: @release_name user_name: ros maintainer_name: arch: amd64 diff --git a/ros/.config/ros1/Makefile.em b/ros/.config/ros1/Makefile.em index 9641581cd..dd948d51f 100644 --- a/ros/.config/ros1/Makefile.em +++ b/ros/.config/ros1/Makefile.em @@ -1,64 +1,64 @@ 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 "" + @@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:$release_name-ros-core-$os_code_name ros-core/. - @docker build --tag=ros:$release_name-ros-base-$os_code_name ros-base/. - @docker build --tag=ros:$release_name-robot-$os_code_name robot/. - @docker build --tag=ros:$release_name-perception-$os_code_name perception/. - # @docker build --tag=osrf/ros:$release_name-desktop-$os_code_name desktop/. - # @docker build --tag=osrf/ros:$release_name-desktop-full-$os_code_name desktop-full/. + @@docker build --tag=ros:@release_name-ros-core-@os_code_name ros-core/. + @@docker build --tag=ros:@release_name-ros-base-@os_code_name ros-base/. + @@docker build --tag=ros:@release_name-robot-@os_code_name robot/. + @@docker build --tag=ros:@release_name-perception-@os_code_name perception/. + # @@docker build --tag=osrf/ros:@release_name-desktop-@os_code_name desktop/. + # @@docker build --tag=osrf/ros:@release_name-desktop-full-@os_code_name desktop-full/. pull: - @docker pull ros:$release_name-ros-core-$os_code_name - @docker pull ros:$release_name-ros-base-$os_code_name - @docker pull ros:$release_name-robot-$os_code_name - @docker pull ros:$release_name-perception-$os_code_name - # @docker pull osrf/ros:$release_name-desktop-$os_code_name - # @docker pull osrf/ros:$release_name-desktop-full-$os_code_name + @@docker pull ros:@release_name-ros-core-@os_code_name + @@docker pull ros:@release_name-ros-base-@os_code_name + @@docker pull ros:@release_name-robot-@os_code_name + @@docker pull ros:@release_name-perception-@os_code_name + # @@docker pull osrf/ros:@release_name-desktop-@os_code_name + # @@docker pull osrf/ros:@release_name-desktop-full-@os_code_name clean: - @docker rmi -f ros:$release_name-ros-core-$os_code_name - @docker rmi -f ros:$release_name-ros-base-$os_code_name - @docker rmi -f ros:$release_name-robot-$os_code_name - @docker rmi -f ros:$release_name-perception-$os_code_name - # @docker rmi -f osrf/ros:$release_name-desktop-$os_code_name - # @docker rmi -f osrf/ros:$release_name-desktop-full-$os_code_name + @@docker rmi -f ros:@release_name-ros-core-@os_code_name + @@docker rmi -f ros:@release_name-ros-base-@os_code_name + @@docker rmi -f ros:@release_name-robot-@os_code_name + @@docker rmi -f ros:@release_name-perception-@os_code_name + # @@docker rmi -f osrf/ros:@release_name-desktop-@os_code_name + # @@docker rmi -f osrf/ros:@release_name-desktop-full-@os_code_name ci_buildx: - @docker buildx build --pull --push \ - --cache-from=type=registry,ref=osrf/ros:$release_name-desktop-$os_code_name \ + @@docker buildx build --pull --push \ + --cache-from=type=registry,ref=osrf/ros:@release_name-desktop-@os_code_name \ --cache-to=type=inline \ - --tag=osrf/ros:$release_name-desktop-$os_code_name \ + --tag=osrf/ros:@release_name-desktop-@os_code_name \ desktop/. - @if [ "$os_name" = "ubuntu" ]; then \ + @@if [ "@os_name" = "ubuntu" ]; then \ docker pull \ - osrf/ros:$release_name-desktop-$os_code_name; \ + osrf/ros:@release_name-desktop-@os_code_name; \ docker tag \ - osrf/ros:$release_name-desktop-$os_code_name \ - osrf/ros:$release_name-desktop; \ + osrf/ros:@release_name-desktop-@os_code_name \ + osrf/ros:@release_name-desktop; \ docker push \ - osrf/ros:$release_name-desktop; \ + osrf/ros:@release_name-desktop; \ fi - @docker buildx build --pull --push \ - --cache-from=type=registry,ref=osrf/ros:$release_name-desktop-full-$os_code_name \ + @@docker buildx build --pull --push \ + --cache-from=type=registry,ref=osrf/ros:@release_name-desktop-full-@os_code_name \ --cache-to=type=inline \ - --tag=osrf/ros:$release_name-desktop-full-$os_code_name \ + --tag=osrf/ros:@release_name-desktop-full-@os_code_name \ desktop-full/. - @if [ "$os_name" = "ubuntu" ]; then \ + @@if [ "@os_name" = "ubuntu" ]; then \ docker pull \ - osrf/ros:$release_name-desktop-full-$os_code_name; \ + osrf/ros:@release_name-desktop-full-@os_code_name; \ docker tag \ - osrf/ros:$release_name-desktop-full-$os_code_name \ - osrf/ros:$release_name-desktop-full; \ + osrf/ros:@release_name-desktop-full-@os_code_name \ + osrf/ros:@release_name-desktop-full; \ docker push \ - osrf/ros:$release_name-desktop-full; \ + osrf/ros:@release_name-desktop-full; \ fi diff --git a/ros/.config/ros1/platform.yaml.em b/ros/.config/ros1/platform.yaml.em index 04d46825b..fdbf65f21 100644 --- a/ros/.config/ros1/platform.yaml.em +++ b/ros/.config/ros1/platform.yaml.em @@ -2,9 +2,9 @@ # ROS Dockerfile database --- platform: - os_name: $os_name - os_code_name: $os_code_name - rosdistro_name: $release_name + os_name: @os_name + os_code_name: @os_code_name + rosdistro_name: @release_name user_name: ros maintainer_name: arch: amd64 diff --git a/ros/.config/ros2/Makefile.em b/ros/.config/ros2/Makefile.em index e80963494..bd4bcf253 100644 --- a/ros/.config/ros2/Makefile.em +++ b/ros/.config/ros2/Makefile.em @@ -1,78 +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 "" + @@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:$release_name-ros-core-$os_code_name ros-core/. - @docker build --tag=ros:$release_name-ros-base-$os_code_name ros-base/. - @docker build --tag=ros:$release_name-perception-$os_code_name perception/. - # @docker build --tag=osrf/ros:$release_name-simulation-$os_code_name simulation/. - # @docker build --tag=osrf/ros:$release_name-desktop-$os_code_name desktop/. - # @docker build --tag=osrf/ros:$release_name-desktop-full-$os_code_name desktop-full/. + @@docker build --tag=ros:@release_name-ros-core-@os_code_name ros-core/. + @@docker build --tag=ros:@release_name-ros-base-@os_code_name ros-base/. + @@docker build --tag=ros:@release_name-perception-@os_code_name perception/. + # @@docker build --tag=osrf/ros:@release_name-simulation-@os_code_name simulation/. + # @@docker build --tag=osrf/ros:@release_name-desktop-@os_code_name desktop/. + # @@docker build --tag=osrf/ros:@release_name-desktop-full-@os_code_name desktop-full/. pull: - @docker pull ros:$release_name-ros-core-$os_code_name - @docker pull ros:$release_name-ros-base-$os_code_name - @docker pull ros:$release_name-perception-$os_code_name - # @docker pull osrf/ros:$release_name-simulation-$os_code_name - # @docker pull osrf/ros:$release_name-desktop-$os_code_name - # @docker pull osrf/ros:$release_name-desktop-full-$os_code_name + @@docker pull ros:@release_name-ros-core-@os_code_name + @@docker pull ros:@release_name-ros-base-@os_code_name + @@docker pull ros:@release_name-perception-@os_code_name + # @@docker pull osrf/ros:@release_name-simulation-@os_code_name + # @@docker pull osrf/ros:@release_name-desktop-@os_code_name + # @@docker pull osrf/ros:@release_name-desktop-full-@os_code_name clean: - @docker rmi -f ros:$release_name-ros-core-$os_code_name - @docker rmi -f ros:$release_name-ros-base-$os_code_name - @docker rmi -f ros:$release_name-perception-$os_code_name - # @docker rmi -f osrf/ros:$release_name-simulation-$os_code_name - # @docker rmi -f osrf/ros:$release_name-desktop-$os_code_name - # @docker rmi -f osrf/ros:$release_name-desktop-full-$os_code_name + @@docker rmi -f ros:@release_name-ros-core-@os_code_name + @@docker rmi -f ros:@release_name-ros-base-@os_code_name + @@docker rmi -f ros:@release_name-perception-@os_code_name + # @@docker rmi -f osrf/ros:@release_name-simulation-@os_code_name + # @@docker rmi -f osrf/ros:@release_name-desktop-@os_code_name + # @@docker rmi -f osrf/ros:@release_name-desktop-full-@os_code_name ci_buildx: - @docker buildx build --pull --push \ - --cache-from=type=registry,ref=osrf/ros:$release_name-desktop-$os_code_name \ + @@docker buildx build --pull --push \ + --cache-from=type=registry,ref=osrf/ros:@release_name-desktop-@os_code_name \ --cache-to=type=inline \ - --tag=osrf/ros:$release_name-desktop-$os_code_name \ + --tag=osrf/ros:@release_name-desktop-@os_code_name \ desktop/. - @if [ "$os_name" = "ubuntu" ]; then \ + @@if [ "@os_name" = "ubuntu" ]; then \ docker pull \ - osrf/ros:$release_name-desktop-$os_code_name; \ + osrf/ros:@release_name-desktop-@os_code_name; \ docker tag \ - osrf/ros:$release_name-desktop-$os_code_name \ - osrf/ros:$release_name-desktop; \ + osrf/ros:@release_name-desktop-@os_code_name \ + osrf/ros:@release_name-desktop; \ docker push \ - osrf/ros:$release_name-desktop; \ + osrf/ros:@release_name-desktop; \ fi - @docker buildx build --pull --push \ - --cache-from=type=registry,ref=osrf/ros:$release_name-simulation-$os_code_name \ + @@docker buildx build --pull --push \ + --cache-from=type=registry,ref=osrf/ros:@release_name-simulation-@os_code_name \ --cache-to=type=inline \ - --tag=osrf/ros:$release_name-simulation-$os_code_name \ + --tag=osrf/ros:@release_name-simulation-@os_code_name \ simulation/. - @if [ "$os_name" = "ubuntu" ]; then \ + @@if [ "@os_name" = "ubuntu" ]; then \ docker pull \ - osrf/ros:$release_name-simulation-$os_code_name; \ + osrf/ros:@release_name-simulation-@os_code_name; \ docker tag \ - osrf/ros:$release_name-simulation-$os_code_name \ - osrf/ros:$release_name-simulation; \ + osrf/ros:@release_name-simulation-@os_code_name \ + osrf/ros:@release_name-simulation; \ docker push \ - osrf/ros:$release_name-simulation; \ + osrf/ros:@release_name-simulation; \ fi - @docker buildx build --pull --push \ - --cache-from=type=registry,ref=osrf/ros:$release_name-desktop-full-$os_code_name \ + @@docker buildx build --pull --push \ + --cache-from=type=registry,ref=osrf/ros:@release_name-desktop-full-@os_code_name \ --cache-to=type=inline \ - --tag=osrf/ros:$release_name-desktop-full-$os_code_name \ + --tag=osrf/ros:@release_name-desktop-full-@os_code_name \ desktop-full/. - @if [ "$os_name" = "ubuntu" ]; then \ + @@if [ "@os_name" = "ubuntu" ]; then \ docker pull \ - osrf/ros:$release_name-desktop-full-$os_code_name; \ + osrf/ros:@release_name-desktop-full-@os_code_name; \ docker tag \ - osrf/ros:$release_name-desktop-full-$os_code_name \ - osrf/ros:$release_name-desktop-full; \ + osrf/ros:@release_name-desktop-full-@os_code_name \ + osrf/ros:@release_name-desktop-full; \ docker push \ - osrf/ros:$release_name-desktop-full; \ + osrf/ros:@release_name-desktop-full; \ fi diff --git a/ros/.config/ros2/platform.yaml.em b/ros/.config/ros2/platform.yaml.em index 67fff098b..f2a392538 100644 --- a/ros/.config/ros2/platform.yaml.em +++ b/ros/.config/ros2/platform.yaml.em @@ -2,9 +2,9 @@ # ROS2 Dockerfile database --- platform: - os_name: $os_name - os_code_name: $os_code_name - ros2distro_name: $release_name + os_name: @os_name + os_code_name: @os_code_name + ros2distro_name: @release_name user_name: ros maintainer_name: arch: amd64 From e9416a954daf64fa49d9ecd16dd4c1de84a2a179 Mon Sep 17 00:00:00 2001 From: ruffsl Date: Tue, 21 Mar 2023 18:53:15 +0100 Subject: [PATCH 2/3] Pass archs directly to os_code_data to expand later via populate_path --- ros/.config/ros1/platform.yaml.em | 4 +++- ros/.config/ros2/platform.yaml.em | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ros/.config/ros1/platform.yaml.em b/ros/.config/ros1/platform.yaml.em index fdbf65f21..58bbd9021 100644 --- a/ros/.config/ros1/platform.yaml.em +++ b/ros/.config/ros1/platform.yaml.em @@ -7,6 +7,8 @@ platform: rosdistro_name: @release_name user_name: ros maintainer_name: - arch: amd64 + archs: + - @('\n - '.join(archs))@ + type: distribution version: diff --git a/ros/.config/ros2/platform.yaml.em b/ros/.config/ros2/platform.yaml.em index f2a392538..a00d21024 100644 --- a/ros/.config/ros2/platform.yaml.em +++ b/ros/.config/ros2/platform.yaml.em @@ -7,6 +7,8 @@ platform: ros2distro_name: @release_name user_name: ros maintainer_name: - arch: amd64 + archs: + - @('\n - '.join(archs))@ + type: distribution version: From 81f8ff9618ef2773003e5bd8f6f613f3e0d82b02 Mon Sep 17 00:00:00 2001 From: ruffsl Date: Wed, 22 Mar 2023 12:38:28 +0100 Subject: [PATCH 3/3] Update legacy config using archs --- ros/.config/legacy/ros1/platform.yaml.em | 4 +++- ros/.config/legacy/ros2/platform.yaml.em | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ros/.config/legacy/ros1/platform.yaml.em b/ros/.config/legacy/ros1/platform.yaml.em index b8bb0598b..1c323631c 100644 --- a/ros/.config/legacy/ros1/platform.yaml.em +++ b/ros/.config/legacy/ros1/platform.yaml.em @@ -7,7 +7,9 @@ platform: rosdistro_name: @release_name user_name: ros maintainer_name: - arch: amd64 + archs: + - @('\n - '.join(archs))@ + type: distribution version: False release: ros diff --git a/ros/.config/legacy/ros2/platform.yaml.em b/ros/.config/legacy/ros2/platform.yaml.em index 3cb39fa10..82032c4ec 100644 --- a/ros/.config/legacy/ros2/platform.yaml.em +++ b/ros/.config/legacy/ros2/platform.yaml.em @@ -8,6 +8,8 @@ platform: ros2distro_name: @release_name user_name: ros maintainer_name: - arch: amd64 + archs: + - @('\n - '.join(archs))@ + type: distribution version: