From e5518da8475e8d3ce25f968c470a40ccff083367 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 15:08:26 +0900 Subject: [PATCH 01/12] run resolve_rosdep_keys.sh Signed-off-by: Yutaka Kondo --- docker/Dockerfile | 73 +++++---------------------- docker/scripts/resolve_rosdep_keys.sh | 14 +++++ 2 files changed, 27 insertions(+), 60 deletions(-) create mode 100755 docker/scripts/resolve_rosdep_keys.sh diff --git a/docker/Dockerfile b/docker/Dockerfile index e5025e5d38a..2089af9510e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -19,6 +19,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ # Copy files COPY setup-dev-env.sh ansible-galaxy-requirements.yaml amd64.env arm64.env /autoware/ COPY ansible/ /autoware/ansible/ +COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh WORKDIR /autoware # Set up base environment @@ -64,21 +65,13 @@ RUN --mount=type=ssh \ # Generate install package lists COPY src/core /autoware/src/core -RUN rosdep update && rosdep keys --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN rosdep update && /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-core-depend-packages.txt \ && cat /rosdep-core-depend-packages.txt COPY src/universe/external /autoware/src/universe/external COPY src/universe/autoware.universe/common /autoware/src/universe/autoware.universe/common -RUN rosdep keys --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-universe-common-depend-packages.txt \ && cat /rosdep-universe-common-depend-packages.txt @@ -88,18 +81,10 @@ ARG ROS_DISTRO COPY src/universe/autoware.universe/perception /autoware/src/universe/autoware.universe/perception COPY src/universe/autoware.universe/sensing /autoware/src/universe/autoware.universe/sensing -RUN rosdep keys --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-universe-sensing-perception-depend-packages.txt \ && cat /rosdep-universe-sensing-perception-depend-packages.txt -RUN rosdep keys --dependency-types=exec --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-universe-sensing-perception-exec-depend-packages.txt \ && cat /rosdep-universe-sensing-perception-exec-depend-packages.txt @@ -109,18 +94,10 @@ ARG ROS_DISTRO COPY src/universe/autoware.universe/localization /autoware/src/universe/autoware.universe/localization COPY src/universe/autoware.universe/map /autoware/src/universe/autoware.universe/map -RUN rosdep keys --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-universe-localization-mapping-depend-packages.txt \ && cat /rosdep-universe-localization-mapping-depend-packages.txt -RUN rosdep keys --dependency-types=exec --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-universe-localization-mapping-exec-depend-packages.txt \ && cat /rosdep-universe-localization-mapping-exec-depend-packages.txt @@ -135,18 +112,10 @@ COPY src/universe/autoware.universe/map/map_loader /autoware/src/universe/autowa COPY src/universe/autoware.universe/map/autoware_map_projection_loader /autoware/src/universe/autoware.universe/map/autoware_map_projection_loader COPY src/universe/autoware.universe/sensing/autoware_pcl_extensions /autoware/src/universe/autoware.universe/sensing/autoware_pcl_extensions COPY src/universe/autoware.universe/sensing/autoware_pointcloud_preprocessor /autoware/src/universe/autoware.universe/sensing/autoware_pointcloud_preprocessor -RUN rosdep keys --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-universe-planning-control-depend-packages.txt \ && cat /rosdep-universe-planning-control-depend-packages.txt -RUN rosdep keys --dependency-types=exec --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-universe-planning-control-exec-depend-packages.txt \ && cat /rosdep-universe-planning-control-exec-depend-packages.txt @@ -158,18 +127,10 @@ COPY src/universe/autoware.universe/vehicle /autoware/src/universe/autoware.univ COPY src/universe/autoware.universe/system /autoware/src/universe/autoware.universe/system COPY src/universe/autoware.universe/map/autoware_map_height_fitter /autoware/src/universe/autoware.universe/map/autoware_map_height_fitter COPY src/universe/autoware.universe/localization/autoware_pose2twist /autoware/src/universe/autoware.universe/localization/autoware_pose2twist -RUN rosdep keys --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-universe-vehicle-system-depend-packages.txt \ && cat /rosdep-universe-vehicle-system-depend-packages.txt -RUN rosdep keys --dependency-types=exec --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-universe-vehicle-system-exec-depend-packages.txt \ && cat /rosdep-universe-vehicle-system-exec-depend-packages.txt @@ -183,19 +144,11 @@ COPY src/sensor_component /autoware/src/sensor_component COPY src/sensor_kit /autoware/src/sensor_kit COPY src/universe /autoware/src/universe COPY src/vehicle /autoware/src/vehicle -RUN rosdep keys --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-universe-depend-packages.txt \ && cat /rosdep-universe-depend-packages.txt -RUN rosdep keys --dependency-types=exec --ignore-src --from-paths src \ - | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \ - | grep -v '^#' \ - | sed 's/ \+/\n/g'\ - | sort \ +RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-exec-depend-packages.txt \ && cat /rosdep-exec-depend-packages.txt diff --git a/docker/scripts/resolve_rosdep_keys.sh b/docker/scripts/resolve_rosdep_keys.sh new file mode 100755 index 00000000000..32a91a1ec6c --- /dev/null +++ b/docker/scripts/resolve_rosdep_keys.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +function resolve_rosdep_keys() { + local src_path=$1 + local ros_distro=$2 + + rosdep update && rosdep keys --ignore-src --from-paths "$src_path" \ + | xargs rosdep resolve --rosdistro "$ros_distro" \ + | grep -v '^#' \ + | sed 's/ \+/\n/g' \ + | sort +} + +resolve_rosdep_keys "$@" From ce7ff368f2c0c35a692180976720f0fa24e15c9c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 06:14:32 +0000 Subject: [PATCH 02/12] style(pre-commit): autofix --- docker/scripts/resolve_rosdep_keys.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docker/scripts/resolve_rosdep_keys.sh b/docker/scripts/resolve_rosdep_keys.sh index 32a91a1ec6c..40529190802 100755 --- a/docker/scripts/resolve_rosdep_keys.sh +++ b/docker/scripts/resolve_rosdep_keys.sh @@ -1,14 +1,14 @@ #!/bin/bash function resolve_rosdep_keys() { - local src_path=$1 - local ros_distro=$2 + local src_path=$1 + local ros_distro=$2 - rosdep update && rosdep keys --ignore-src --from-paths "$src_path" \ - | xargs rosdep resolve --rosdistro "$ros_distro" \ - | grep -v '^#' \ - | sed 's/ \+/\n/g' \ - | sort + rosdep update && rosdep keys --ignore-src --from-paths "$src_path" | + xargs rosdep resolve --rosdistro "$ros_distro" | + grep -v '^#' | + sed 's/ \+/\n/g' | + sort } resolve_rosdep_keys "$@" From 5c44436be49668d52b61cc23fdae7749f11dfbea Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 15:32:33 +0900 Subject: [PATCH 03/12] update .dockerignore Signed-off-by: Yutaka Kondo --- .dockerignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.dockerignore b/.dockerignore index ac26bde50a1..679e11b25ef 100644 --- a/.dockerignore +++ b/.dockerignore @@ -9,6 +9,7 @@ # Ignore Docker files docker !docker/etc +!docker/scripts # Ignore a part of files under src src/**/.* From 8c4b1d5481fd777b169ad81faebb1388e8a7f848 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 15:53:57 +0900 Subject: [PATCH 04/12] chmod +x Signed-off-by: Yutaka Kondo --- docker/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index 2089af9510e..7ef97f62e78 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -20,6 +20,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ COPY setup-dev-env.sh ansible-galaxy-requirements.yaml amd64.env arm64.env /autoware/ COPY ansible/ /autoware/ansible/ COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh +RUN chmod +x /autoware/resolve_rosdep_keys.sh WORKDIR /autoware # Set up base environment From ea76f699a661cc1048ff6b97922cbead14533ce9 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 16:04:28 +0900 Subject: [PATCH 05/12] fix location Signed-off-by: Yutaka Kondo --- docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 7ef97f62e78..846b8e63d7b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -19,8 +19,6 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ # Copy files COPY setup-dev-env.sh ansible-galaxy-requirements.yaml amd64.env arm64.env /autoware/ COPY ansible/ /autoware/ansible/ -COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh -RUN chmod +x /autoware/resolve_rosdep_keys.sh WORKDIR /autoware # Set up base environment @@ -54,6 +52,8 @@ ARG ROS_DISTRO COPY setup-dev-env.sh ansible-galaxy-requirements.yaml amd64.env arm64.env /autoware/ COPY ansible/ /autoware/ansible/ +COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh +RUN chmod +x /autoware/resolve_rosdep_keys.sh WORKDIR /autoware RUN rm -f /etc/apt/apt.conf.d/docker-clean \ From 6264cde64ba1a48cbc2cc321cbf0812e9de67bc3 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 16:52:20 +0900 Subject: [PATCH 06/12] remove rosdep update Signed-off-by: Yutaka Kondo --- docker/scripts/resolve_rosdep_keys.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/scripts/resolve_rosdep_keys.sh b/docker/scripts/resolve_rosdep_keys.sh index 40529190802..1615e9f68fe 100755 --- a/docker/scripts/resolve_rosdep_keys.sh +++ b/docker/scripts/resolve_rosdep_keys.sh @@ -4,7 +4,7 @@ function resolve_rosdep_keys() { local src_path=$1 local ros_distro=$2 - rosdep update && rosdep keys --ignore-src --from-paths "$src_path" | + rosdep keys --ignore-src --from-paths "$src_path" | xargs rosdep resolve --rosdistro "$ros_distro" | grep -v '^#' | sed 's/ \+/\n/g' | From 01356bcd9c2b38b4a5f0af98bcc0b7696e2cdf22 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 15:26:26 +0900 Subject: [PATCH 07/12] run build_and_clean.sh Signed-off-by: Yutaka Kondo --- docker/Dockerfile | 83 ++++--------------------------- docker/scripts/build_and_clean.sh | 18 +++++++ 2 files changed, 29 insertions(+), 72 deletions(-) create mode 100755 docker/scripts/build_and_clean.sh diff --git a/docker/Dockerfile b/docker/Dockerfile index 846b8e63d7b..40165e5c5f8 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -158,6 +158,9 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ENV CCACHE_DIR="/root/.ccache" +COPY docker/scripts/build_and_clean.sh /autoware/build_and_clean.sh +RUN chmod +x /autoware/build_and_clean.sh + # Set up development environment and tools RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ @@ -177,15 +180,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ RUN --mount=type=cache,target=${CCACHE_DIR} \ --mount=type=bind,from=rosdep-depend,source=/autoware/src/core,target=/autoware/src/core \ source /opt/ros/"$ROS_DISTRO"/setup.bash \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && colcon build --cmake-args \ - " -Wno-dev" \ - " --no-warn-unused-cli" \ - --merge-install \ - --install-base /opt/autoware \ - --mixin release compile-commands ccache \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build /autoware/log + && /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -209,15 +204,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/external,target=/autoware/src/universe/external \ source /opt/ros/"$ROS_DISTRO"/setup.bash \ && source /opt/autoware/setup.bash \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && colcon build --cmake-args \ - " -Wno-dev" \ - " --no-warn-unused-cli" \ - --merge-install \ - --install-base /opt/autoware \ - --mixin release compile-commands ccache \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build /autoware/log + && /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -254,15 +241,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/sensing,target=/autoware/src/universe/autoware.universe/sensing \ source /opt/ros/"$ROS_DISTRO"/setup.bash \ && source /opt/autoware/setup.bash \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && colcon build --cmake-args \ - " -Wno-dev" \ - " --no-warn-unused-cli" \ - --merge-install \ - --install-base /opt/autoware \ - --mixin release compile-commands ccache \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build /autoware/log + && /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -296,15 +275,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/sensing/autoware_cuda_utils,target=/autoware/src/universe/autoware.universe/sensing/autoware_cuda_utils \ source /opt/ros/"$ROS_DISTRO"/setup.bash \ && source /opt/autoware/setup.bash \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && colcon build --cmake-args \ - " -Wno-dev" \ - " --no-warn-unused-cli" \ - --merge-install \ - --install-base /opt/autoware \ - --mixin release compile-commands ccache \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build + && /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware COPY --from=universe-sensing-perception-devel /opt/autoware /opt/autoware @@ -330,15 +301,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --mount=type=bind,from=rosdep-universe-localization-mapping-depend,source=/autoware/src/universe/autoware.universe/map,target=/autoware/src/universe/autoware.universe/map \ source /opt/ros/"$ROS_DISTRO"/setup.bash \ && source /opt/autoware/setup.bash \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && colcon build --cmake-args \ - " -Wno-dev" \ - " --no-warn-unused-cli" \ - --merge-install \ - --install-base /opt/autoware \ - --mixin release compile-commands ccache \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build /autoware/log + && /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware FROM universe-common-devel AS universe-planning-control-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -364,15 +327,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --mount=type=bind,from=rosdep-universe-planning-control-depend,source=/autoware/src/universe/autoware.universe/sensing/autoware_pointcloud_preprocessor,target=/autoware/src/universe/autoware.universe/sensing/autoware_pointcloud_preprocessor \ source /opt/ros/"$ROS_DISTRO"/setup.bash \ && source /opt/autoware/setup.bash \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && colcon build --cmake-args \ - " -Wno-dev" \ - " --no-warn-unused-cli" \ - --merge-install \ - --install-base /opt/autoware \ - --mixin release compile-commands ccache \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build /autoware/log + && /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -398,15 +353,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --mount=type=bind,from=rosdep-universe-vehicle-system-depend,source=/autoware/src/universe/autoware.universe/localization/autoware_pose2twist,target=/autoware/src/universe/autoware.universe/localization/autoware_pose2twist \ source /opt/ros/"$ROS_DISTRO"/setup.bash \ && source /opt/autoware/setup.bash \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && colcon build --cmake-args \ - " -Wno-dev" \ - " --no-warn-unused-cli" \ - --merge-install \ - --install-base /opt/autoware \ - --mixin release compile-commands ccache \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build /autoware/log + && /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -441,15 +388,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --mount=type=bind,from=rosdep-universe-depend,source=/autoware/src/vehicle,target=/autoware/src/vehicle \ source /opt/ros/"$ROS_DISTRO"/setup.bash \ && source /opt/autoware/setup.bash \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && colcon build --cmake-args \ - " -Wno-dev" \ - " --no-warn-unused-cli" \ - --merge-install \ - --install-base /opt/autoware \ - --mixin release compile-commands ccache \ - && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build /autoware/log + && /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] diff --git a/docker/scripts/build_and_clean.sh b/docker/scripts/build_and_clean.sh new file mode 100755 index 00000000000..6d21e74be3e --- /dev/null +++ b/docker/scripts/build_and_clean.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +function build_and_clean() { + local ccache_dir=$1 + local install_base=$2 + + du -sh "$ccache_dir" && ccache -s \ + && colcon build --cmake-args \ + " -Wno-dev" \ + " --no-warn-unused-cli" \ + --merge-install \ + --install-base "$install_base" \ + --mixin release compile-commands ccache \ + && du -sh "$ccache_dir" && ccache -s \ + && rm -rf /autoware/build /autoware/log +} + +build_and_clean "$@" From 290c1e297595f1f8b1e98da4bc0415646f2ea0fe Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 06:36:30 +0000 Subject: [PATCH 08/12] style(pre-commit): autofix --- docker/scripts/build_and_clean.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docker/scripts/build_and_clean.sh b/docker/scripts/build_and_clean.sh index 6d21e74be3e..53c968ef722 100755 --- a/docker/scripts/build_and_clean.sh +++ b/docker/scripts/build_and_clean.sh @@ -1,18 +1,18 @@ #!/bin/bash function build_and_clean() { - local ccache_dir=$1 - local install_base=$2 + local ccache_dir=$1 + local install_base=$2 - du -sh "$ccache_dir" && ccache -s \ - && colcon build --cmake-args \ - " -Wno-dev" \ - " --no-warn-unused-cli" \ - --merge-install \ - --install-base "$install_base" \ - --mixin release compile-commands ccache \ - && du -sh "$ccache_dir" && ccache -s \ - && rm -rf /autoware/build /autoware/log + du -sh "$ccache_dir" && ccache -s && + colcon build --cmake-args \ + " -Wno-dev" \ + " --no-warn-unused-cli" \ + --merge-install \ + --install-base "$install_base" \ + --mixin release compile-commands ccache && + du -sh "$ccache_dir" && ccache -s && + rm -rf /autoware/build /autoware/log } build_and_clean "$@" From 7f4c619558d6aae4ba828a453f1a5b3752f60b1f Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 15:47:36 +0900 Subject: [PATCH 09/12] run cleanup_system.sh Signed-off-by: Yutaka Kondo --- docker/Dockerfile | 71 ++++---------------------------- docker/scripts/cleanup_system.sh | 18 ++++++++ 2 files changed, 26 insertions(+), 63 deletions(-) create mode 100755 docker/scripts/cleanup_system.sh diff --git a/docker/Dockerfile b/docker/Dockerfile index 40165e5c5f8..7250f058ff5 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -19,6 +19,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ # Copy files COPY setup-dev-env.sh ansible-galaxy-requirements.yaml amd64.env arm64.env /autoware/ COPY ansible/ /autoware/ansible/ +COPY docker/scripts/cleanup_system.sh /autoware/cleanup_system.sh WORKDIR /autoware # Set up base environment @@ -424,15 +425,7 @@ RUN --mount=type=ssh \ && pip uninstall -y ansible ansible-core \ && apt-get update \ && cat /tmp/rosdep-universe-sensing-perception-exec-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache \ - && find /usr/lib/$LIB_DIR-linux-gnu -name "*.a" -type f -delete \ - && find / -name "*.o" -type f -delete \ - && find / -name "*.h" -type f -delete \ - && find / -name "*.hpp" -type f -delete \ - && rm -rf /autoware/ansible /autoware/ansible-galaxy-requirements.yaml /autoware/setup-dev-env.sh /autoware/*.env \ - /root/.local/pipx /opt/ros/"$ROS_DISTRO"/include /etc/apt/sources.list.d/cuda*.list \ - /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/nvidia-docker.list \ - /usr/include /usr/share/doc /usr/lib/gcc /usr/lib/jvm /usr/lib/llvm* + && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO COPY --from=universe-sensing-perception-devel /opt/autoware /opt/autoware @@ -457,15 +450,7 @@ RUN --mount=type=ssh \ && pip uninstall -y ansible ansible-core \ && apt-get update \ && cat /tmp/rosdep-universe-sensing-perception-exec-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache \ - && find /usr/lib/$LIB_DIR-linux-gnu -name "*.a" -type f -delete \ - && find / -name "*.o" -type f -delete \ - && find / -name "*.h" -type f -delete \ - && find / -name "*.hpp" -type f -delete \ - && rm -rf /autoware/ansible /autoware/ansible-galaxy-requirements.yaml /autoware/setup-dev-env.sh /autoware/*.env \ - /root/.local/pipx /opt/ros/"$ROS_DISTRO"/include /etc/apt/sources.list.d/cuda*.list \ - /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/nvidia-docker.list \ - /usr/include /usr/share/doc /usr/lib/gcc /usr/lib/jvm /usr/lib/llvm* + && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO COPY --from=universe-sensing-perception-devel-cuda /opt/autoware /opt/autoware @@ -486,15 +471,7 @@ RUN --mount=type=ssh \ && pip uninstall -y ansible ansible-core \ && apt-get update \ && cat /tmp/rosdep-universe-localization-mapping-exec-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache \ - && find /usr/lib/$LIB_DIR-linux-gnu -name "*.a" -type f -delete \ - && find / -name "*.o" -type f -delete \ - && find / -name "*.h" -type f -delete \ - && find / -name "*.hpp" -type f -delete \ - && rm -rf /autoware/ansible /autoware/ansible-galaxy-requirements.yaml /autoware/setup-dev-env.sh /autoware/*.env \ - /root/.local/pipx /opt/ros/"$ROS_DISTRO"/include /etc/apt/sources.list.d/cuda*.list \ - /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/nvidia-docker.list \ - /usr/include /usr/share/doc /usr/lib/gcc /usr/lib/jvm /usr/lib/llvm* + && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO COPY --from=universe-localization-mapping-devel /opt/autoware /opt/autoware @@ -519,15 +496,7 @@ RUN --mount=type=ssh \ && pip uninstall -y ansible ansible-core \ && apt-get update \ && cat /tmp/rosdep-universe-planning-control-exec-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache \ - && find /usr/lib/$LIB_DIR-linux-gnu -name "*.a" -type f -delete \ - && find / -name "*.o" -type f -delete \ - && find / -name "*.h" -type f -delete \ - && find / -name "*.hpp" -type f -delete \ - && rm -rf /autoware/ansible /autoware/ansible-galaxy-requirements.yaml /autoware/setup-dev-env.sh /autoware/*.env \ - /root/.local/pipx /opt/ros/"$ROS_DISTRO"/include /etc/apt/sources.list.d/cuda*.list \ - /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/nvidia-docker.list \ - /usr/include /usr/share/doc /usr/lib/gcc /usr/lib/jvm /usr/lib/llvm* + && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO COPY --from=universe-planning-control-devel /opt/autoware /opt/autoware @@ -552,15 +521,7 @@ RUN --mount=type=ssh \ && pip uninstall -y ansible ansible-core \ && apt-get update \ && cat /tmp/rosdep-universe-vehicle-system-exec-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache \ - && find /usr/lib/$LIB_DIR-linux-gnu -name "*.a" -type f -delete \ - && find / -name "*.o" -type f -delete \ - && find / -name "*.h" -type f -delete \ - && find / -name "*.hpp" -type f -delete \ - && rm -rf /autoware/ansible /autoware/ansible-galaxy-requirements.yaml /autoware/setup-dev-env.sh /autoware/*.env \ - /root/.local/pipx /opt/ros/"$ROS_DISTRO"/include /etc/apt/sources.list.d/cuda*.list \ - /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/nvidia-docker.list \ - /usr/include /usr/share/doc /usr/lib/gcc /usr/lib/jvm /usr/lib/llvm* + && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO COPY --from=universe-vehicle-system-devel /opt/autoware /opt/autoware @@ -585,15 +546,7 @@ RUN --mount=type=ssh \ && pip uninstall -y ansible ansible-core \ && apt-get update \ && cat /tmp/rosdep-exec-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache \ - && find /usr/lib/$LIB_DIR-linux-gnu -name "*.a" -type f -delete \ - && find / -name "*.o" -type f -delete \ - && find / -name "*.h" -type f -delete \ - && find / -name "*.hpp" -type f -delete \ - && rm -rf /autoware/ansible /autoware/ansible-galaxy-requirements.yaml /autoware/setup-dev-env.sh /autoware/*.env \ - /root/.local/pipx /opt/ros/"$ROS_DISTRO"/include /etc/apt/sources.list.d/cuda*.list \ - /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/nvidia-docker.list \ - /usr/include /usr/share/doc /usr/lib/gcc /usr/lib/jvm /usr/lib/llvm* + && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO COPY --from=universe-devel /opt/autoware /opt/autoware @@ -618,15 +571,7 @@ RUN --mount=type=ssh \ && pip uninstall -y ansible ansible-core \ && apt-get update \ && cat /tmp/rosdep-exec-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache \ - && find /usr/lib/$LIB_DIR-linux-gnu -name "*.a" -type f -delete \ - && find / -name "*.o" -type f -delete \ - && find / -name "*.h" -type f -delete \ - && find / -name "*.hpp" -type f -delete \ - && rm -rf /autoware/ansible /autoware/ansible-galaxy-requirements.yaml /autoware/setup-dev-env.sh /autoware/*.env \ - /root/.local/pipx /opt/ros/"$ROS_DISTRO"/include /etc/apt/sources.list.d/cuda*.list \ - /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/nvidia-docker.list \ - /usr/include /usr/share/doc /usr/lib/gcc /usr/lib/jvm /usr/lib/llvm* + && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO COPY --from=universe-devel-cuda /opt/autoware /opt/autoware diff --git a/docker/scripts/cleanup_system.sh b/docker/scripts/cleanup_system.sh new file mode 100755 index 00000000000..ca25715ae13 --- /dev/null +++ b/docker/scripts/cleanup_system.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +function cleanup_system() { + local lib_dir=$1 + local ros_distro=$2 + + apt-get autoremove -y && rm -rf "$HOME"/.cache \ + && find /usr/lib/$lib_dir-linux-gnu -name "*.a" -type f -delete \ + && find / -name "*.o" -type f -delete \ + && find / -name "*.h" -type f -delete \ + && find / -name "*.hpp" -type f -delete \ + && rm -rf /autoware/ansible /autoware/ansible-galaxy-requirements.yaml /autoware/setup-dev-env.sh /autoware/*.env \ + /root/.local/pipx /opt/ros/"$ros_distro"/include /etc/apt/sources.list.d/cuda*.list \ + /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/nvidia-docker.list \ + /usr/include /usr/share/doc /usr/lib/gcc /usr/lib/jvm /usr/lib/llvm* +} + +cleanup_system "$@" From 1fdd1ee90cde1c2908665c304ffcf2d518266d95 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 16:00:24 +0900 Subject: [PATCH 10/12] chmod +x Signed-off-by: Yutaka Kondo --- docker/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index 7250f058ff5..5534205363e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -20,6 +20,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ COPY setup-dev-env.sh ansible-galaxy-requirements.yaml amd64.env arm64.env /autoware/ COPY ansible/ /autoware/ansible/ COPY docker/scripts/cleanup_system.sh /autoware/cleanup_system.sh +RUN chmod +x /autoware/cleanup_system.sh WORKDIR /autoware # Set up base environment From 55883c3fab2bed300eaf771752f6484fdb8be586 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 07:17:05 +0000 Subject: [PATCH 11/12] style(pre-commit): autofix --- docker/scripts/cleanup_system.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docker/scripts/cleanup_system.sh b/docker/scripts/cleanup_system.sh index ca25715ae13..c3613a298a5 100755 --- a/docker/scripts/cleanup_system.sh +++ b/docker/scripts/cleanup_system.sh @@ -1,18 +1,18 @@ #!/bin/bash function cleanup_system() { - local lib_dir=$1 - local ros_distro=$2 + local lib_dir=$1 + local ros_distro=$2 - apt-get autoremove -y && rm -rf "$HOME"/.cache \ - && find /usr/lib/$lib_dir-linux-gnu -name "*.a" -type f -delete \ - && find / -name "*.o" -type f -delete \ - && find / -name "*.h" -type f -delete \ - && find / -name "*.hpp" -type f -delete \ - && rm -rf /autoware/ansible /autoware/ansible-galaxy-requirements.yaml /autoware/setup-dev-env.sh /autoware/*.env \ - /root/.local/pipx /opt/ros/"$ros_distro"/include /etc/apt/sources.list.d/cuda*.list \ - /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/nvidia-docker.list \ - /usr/include /usr/share/doc /usr/lib/gcc /usr/lib/jvm /usr/lib/llvm* + apt-get autoremove -y && rm -rf "$HOME"/.cache && + find /usr/lib/$lib_dir-linux-gnu -name "*.a" -type f -delete && + find / -name "*.o" -type f -delete && + find / -name "*.h" -type f -delete && + find / -name "*.hpp" -type f -delete && + rm -rf /autoware/ansible /autoware/ansible-galaxy-requirements.yaml /autoware/setup-dev-env.sh /autoware/*.env \ + /root/.local/pipx /opt/ros/"$ros_distro"/include /etc/apt/sources.list.d/cuda*.list \ + /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/nvidia-docker.list \ + /usr/include /usr/share/doc /usr/lib/gcc /usr/lib/jvm /usr/lib/llvm* } cleanup_system "$@" From fcfdb373f9b2f60f86f563ed988229f5871dec67 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 19:18:38 +0900 Subject: [PATCH 12/12] Update cleanup_system.sh --- docker/scripts/cleanup_system.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/scripts/cleanup_system.sh b/docker/scripts/cleanup_system.sh index c3613a298a5..1e8d911becc 100755 --- a/docker/scripts/cleanup_system.sh +++ b/docker/scripts/cleanup_system.sh @@ -5,7 +5,7 @@ function cleanup_system() { local ros_distro=$2 apt-get autoremove -y && rm -rf "$HOME"/.cache && - find /usr/lib/$lib_dir-linux-gnu -name "*.a" -type f -delete && + find /usr/lib/"$lib_dir"-linux-gnu -name "*.a" -type f -delete && find / -name "*.o" -type f -delete && find / -name "*.h" -type f -delete && find / -name "*.hpp" -type f -delete &&