From e3fa138444a6d054e99c14825cac55fd5d639a65 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 5 Sep 2024 15:09:12 +0900 Subject: [PATCH 1/4] feat(docker): rename multi-stages (#5170) * rename stages Signed-off-by: Yutaka Kondo * fix bake Signed-off-by: Yutaka Kondo * fix dockerfile Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo --- .../actions/docker-build-and-push/action.yaml | 34 +++++++++---------- docker/Dockerfile | 16 ++++----- docker/docker-bake.hcl | 26 +++++++------- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index e28a7edec28..24d564f6e8b 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -89,7 +89,7 @@ runs: echo "$EOF" >> $GITHUB_OUTPUT shell: bash - - name: Docker meta for base + - name: Docker meta for autoware:base id: meta-base uses: docker/metadata-action@v5 with: @@ -100,29 +100,29 @@ runs: latest=false suffix=-base${{ inputs.tag-suffix }} - - name: Docker meta for autoware-core - id: meta-autoware-core + - name: Docker meta for autoware:core-devel + id: meta-core-devel uses: docker/metadata-action@v5 with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: ${{ steps.set-docker-tags.outputs.tags }} - bake-target: docker-metadata-action-autoware-core + bake-target: docker-metadata-action-core-devel flavor: | latest=false - suffix=-autoware-core${{ inputs.tag-suffix }} + suffix=-core-devel${{ inputs.tag-suffix }} - - name: Docker meta for autoware-universe - id: meta-autoware-universe + - name: Docker meta for autoware:universe-devel + id: meta-universe-devel uses: docker/metadata-action@v5 with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: ${{ steps.set-docker-tags.outputs.tags }} - bake-target: docker-metadata-action-autoware-universe + bake-target: docker-metadata-action-universe-devel flavor: | latest=false - suffix=-autoware-universe${{ inputs.tag-suffix }} + suffix=-universe-devel${{ inputs.tag-suffix }} - - name: Docker meta for devel + - name: Docker meta for autoware:devel id: meta-devel uses: docker/metadata-action@v5 with: @@ -133,16 +133,16 @@ runs: latest=false suffix=-devel${{ inputs.tag-suffix }} - - name: Docker meta for runtime - id: meta-runtime + - name: Docker meta for autoware:universe + id: meta-universe uses: docker/metadata-action@v5 with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: ${{ steps.set-docker-tags.outputs.tags }} - bake-target: docker-metadata-action-runtime + bake-target: docker-metadata-action-universe flavor: | latest=auto - suffix=-runtime${{ inputs.tag-suffix }} + suffix=-universe${{ inputs.tag-suffix }} - name: Login to GitHub Container Registry uses: docker/login-action@v3 @@ -158,10 +158,10 @@ runs: files: | docker/docker-bake.hcl ${{ steps.meta-base.outputs.bake-file }} - ${{ steps.meta-autoware-core.outputs.bake-file }} - ${{ steps.meta-autoware-universe.outputs.bake-file }} + ${{ steps.meta-core-devel.outputs.bake-file }} + ${{ steps.meta-universe-devel.outputs.bake-file }} ${{ steps.meta-devel.outputs.bake-file }} - ${{ steps.meta-runtime.outputs.bake-file }} + ${{ steps.meta-universe.outputs.bake-file }} provenance: false set: | ${{ inputs.build-args }} diff --git a/docker/Dockerfile b/docker/Dockerfile index f053916daea..a346470a029 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -105,7 +105,7 @@ RUN rosdep keys --dependency-types=exec --ignore-src --from-paths src \ > /rosdep-exec-depend-packages.txt \ && cat /rosdep-exec-depend-packages.txt -FROM base AS autoware-core +FROM base AS core-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ENV CCACHE_DIR="/root/.ccache" @@ -138,7 +138,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ && du -sh ${CCACHE_DIR} && ccache -s \ && rm -rf /autoware/build -FROM autoware-core AS autoware-universe-common +FROM core-devel AS universe-common-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ENV CCACHE_DIR="/root/.ccache" @@ -170,7 +170,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ && du -sh ${CCACHE_DIR} && ccache -s \ && rm -rf /autoware/build -FROM autoware-universe-common AS autoware-universe-sensing-perception +FROM universe-common-devel AS universe-sensing-perception-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ENV CCACHE_DIR="/root/.ccache" @@ -201,7 +201,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ CMD ["/bin/bash"] -FROM autoware-universe-common AS autoware-universe +FROM universe-common-devel AS universe-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ENV CCACHE_DIR="/root/.ccache" @@ -214,7 +214,7 @@ RUN --mount=type=ssh \ && cat /tmp/rosdep-universe-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* "$HOME"/.cache -COPY --from=autoware-universe-sensing-perception /opt/autoware /opt/autoware +COPY --from=universe-sensing-perception-devel /opt/autoware /opt/autoware # hadolint ignore=SC1091 RUN --mount=type=cache,target=${CCACHE_DIR} \ --mount=type=bind,from=rosdep-depend,source=/autoware/src/launcher,target=/autoware/src/launcher \ @@ -246,7 +246,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ CMD ["/bin/bash"] -FROM autoware-universe AS devel +FROM universe-devel AS devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] # Install development tools and artifacts @@ -262,7 +262,7 @@ RUN chmod +x /ros_entrypoint.sh ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM base AS runtime +FROM base AS universe SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR @@ -287,7 +287,7 @@ RUN --mount=type=ssh \ /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* -COPY --from=autoware-universe /opt/autoware /opt/autoware +COPY --from=universe-devel /opt/autoware /opt/autoware # Copy bash aliases COPY docker/etc/.bash_aliases /root/.bash_aliases diff --git a/docker/docker-bake.hcl b/docker/docker-bake.hcl index 9e3fb6536a7..978f622fadb 100644 --- a/docker/docker-bake.hcl +++ b/docker/docker-bake.hcl @@ -1,13 +1,13 @@ group "default" { - targets = ["base", "autoware-core", "autoware-universe", "devel", "runtime"] + targets = ["base", "core-devel", "universe-devel", "devel", "universe"] } // For docker/metadata-action target "docker-metadata-action-base" {} -target "docker-metadata-action-autoware-core" {} -target "docker-metadata-action-autoware-universe" {} +target "docker-metadata-action-core-devel" {} +target "docker-metadata-action-universe-devel" {} target "docker-metadata-action-devel" {} -target "docker-metadata-action-runtime" {} +target "docker-metadata-action-universe" {} target "base" { inherits = ["docker-metadata-action-base"] @@ -15,16 +15,16 @@ target "base" { target = "base" } -target "autoware-core" { - inherits = ["docker-metadata-action-autoware-core"] +target "core-devel" { + inherits = ["docker-metadata-action-core-devel"] dockerfile = "docker/Dockerfile" - target = "autoware-core" + target = "core-devel" } -target "autoware-universe" { - inherits = ["docker-metadata-action-autoware-universe"] +target "universe-devel" { + inherits = ["docker-metadata-action-universe-devel"] dockerfile = "docker/Dockerfile" - target = "autoware-universe" + target = "universe-devel" } target "devel" { @@ -33,8 +33,8 @@ target "devel" { target = "devel" } -target "runtime" { - inherits = ["docker-metadata-action-runtime"] +target "universe" { + inherits = ["docker-metadata-action-universe"] dockerfile = "docker/Dockerfile" - target = "runtime" + target = "universe" } From ca34d2896426747c64ab3d69e7b717e71d4d4c11 Mon Sep 17 00:00:00 2001 From: beyzanurkaya <32412808+beyzanurkaya@users.noreply.github.com> Date: Thu, 5 Sep 2024 10:41:19 +0300 Subject: [PATCH 2/4] feat(autoware.repos): add awsim_labs_vehicle_launch to autoware.repos (#5166) Signed-off-by: beyza --- autoware.repos | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/autoware.repos b/autoware.repos index e9795ef8456..9abd0d21826 100644 --- a/autoware.repos +++ b/autoware.repos @@ -133,6 +133,10 @@ repositories: type: git url: https://github.com/autowarefoundation/sample_vehicle_launch.git version: main + vehicle/awsim_labs_vehicle_launch: + type: git + url: https://github.com/autowarefoundation/awsim_labs_vehicle_launch.git + version: main vehicle/external/pacmod_interface: type: git url: https://github.com/tier4/pacmod_interface.git From 7148b7769cc26c60410bba2aa49d18d058e886c4 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 5 Sep 2024 20:29:37 +0900 Subject: [PATCH 3/4] feat(docker): no longer support `devel` image (#5171) --- .../actions/docker-build-and-push/action.yaml | 12 ------- docker/Dockerfile | 33 ++++++++----------- docker/docker-bake.hcl | 9 +---- 3 files changed, 14 insertions(+), 40 deletions(-) diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index 24d564f6e8b..1dda6a4439f 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -122,17 +122,6 @@ runs: latest=false suffix=-universe-devel${{ inputs.tag-suffix }} - - name: Docker meta for autoware:devel - id: meta-devel - uses: docker/metadata-action@v5 - with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} - tags: ${{ steps.set-docker-tags.outputs.tags }} - bake-target: docker-metadata-action-devel - flavor: | - latest=false - suffix=-devel${{ inputs.tag-suffix }} - - name: Docker meta for autoware:universe id: meta-universe uses: docker/metadata-action@v5 @@ -160,7 +149,6 @@ runs: ${{ steps.meta-base.outputs.bake-file }} ${{ steps.meta-core-devel.outputs.bake-file }} ${{ steps.meta-universe-devel.outputs.bake-file }} - ${{ steps.meta-devel.outputs.bake-file }} ${{ steps.meta-universe.outputs.bake-file }} provenance: false set: | diff --git a/docker/Dockerfile b/docker/Dockerfile index a346470a029..8f62a41003b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -31,6 +31,9 @@ RUN --mount=type=ssh \ && echo "source /opt/ros/${ROS_DISTRO}/setup.bash" > /etc/bash.bashrc # Create entrypoint +COPY docker/etc/ros_entrypoint.sh /ros_entrypoint.sh +RUN chmod +x /ros_entrypoint.sh +ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] # hadolint ignore=DL3006 @@ -110,10 +113,11 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ENV CCACHE_DIR="/root/.ccache" -# Set up development environment +# Set up development environment and tools RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ ./setup-dev-env.sh -y --module all openadkit \ + && ./setup-dev-env.sh -y --module dev-tools openadkit \ && pip uninstall -y ansible ansible-core \ && apt-get autoremove -y && rm -rf "$HOME"/.cache @@ -138,6 +142,9 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ && du -sh ${CCACHE_DIR} && ccache -s \ && rm -rf /autoware/build +ENTRYPOINT ["/ros_entrypoint.sh"] +CMD ["/bin/bash"] + FROM core-devel AS universe-common-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO @@ -170,6 +177,9 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ && du -sh ${CCACHE_DIR} && ccache -s \ && rm -rf /autoware/build +ENTRYPOINT ["/ros_entrypoint.sh"] +CMD ["/bin/bash"] + FROM universe-common-devel AS universe-sensing-perception-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO @@ -199,6 +209,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ && du -sh ${CCACHE_DIR} && ccache -s \ && rm -rf /autoware/build +ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] FROM universe-common-devel AS universe-devel @@ -244,21 +255,6 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ && du -sh ${CCACHE_DIR} && ccache -s \ && rm -rf /autoware/build -CMD ["/bin/bash"] - -FROM universe-devel AS devel -SHELL ["/bin/bash", "-o", "pipefail", "-c"] - -# Install development tools and artifacts -RUN --mount=type=ssh \ - --mount=type=cache,target=/var/cache/apt,sharing=locked \ - ./setup-dev-env.sh -y --module dev-tools openadkit \ - && pip uninstall -y ansible ansible-core \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache - -# Create entrypoint -COPY docker/etc/ros_entrypoint.sh /ros_entrypoint.sh -RUN chmod +x /ros_entrypoint.sh ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -293,8 +289,5 @@ COPY --from=universe-devel /opt/autoware /opt/autoware COPY docker/etc/.bash_aliases /root/.bash_aliases RUN echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc -# Create entrypoint -COPY docker/etc/ros_entrypoint.sh /ros_entrypoint.sh -RUN chmod +x /ros_entrypoint.sh ENTRYPOINT ["/ros_entrypoint.sh"] -CMD ["bash"] +CMD ["/bin/bash"] diff --git a/docker/docker-bake.hcl b/docker/docker-bake.hcl index 978f622fadb..7e48cbf8b1d 100644 --- a/docker/docker-bake.hcl +++ b/docker/docker-bake.hcl @@ -1,12 +1,11 @@ group "default" { - targets = ["base", "core-devel", "universe-devel", "devel", "universe"] + targets = ["base", "core-devel", "universe-devel", "universe"] } // For docker/metadata-action target "docker-metadata-action-base" {} target "docker-metadata-action-core-devel" {} target "docker-metadata-action-universe-devel" {} -target "docker-metadata-action-devel" {} target "docker-metadata-action-universe" {} target "base" { @@ -27,12 +26,6 @@ target "universe-devel" { target = "universe-devel" } -target "devel" { - inherits = ["docker-metadata-action-devel"] - dockerfile = "docker/Dockerfile" - target = "devel" -} - target "universe" { inherits = ["docker-metadata-action-universe"] dockerfile = "docker/Dockerfile" From 7a3def539d7e6721c9c82b3ef2c999e87370e0b3 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Fri, 6 Sep 2024 13:57:38 +0900 Subject: [PATCH 4/4] feat(docker): add `universe-sensing-perception` runtime stage (#5172) * rename stages Signed-off-by: Yutaka Kondo * update docker-bake Signed-off-by: Yutaka Kondo * update actions Signed-off-by: Yutaka Kondo * fix target Signed-off-by: Yutaka Kondo * fix inherits Signed-off-by: Yutaka Kondo * feat(docker): separation from `autoware-universe` stage to `autoware-universe-sensing-perception` stage (#5164) * split depend stage Signed-off-by: Yutaka Kondo * add s/p stage Signed-off-by: Yutaka Kondo * fix Signed-off-by: Yutaka Kondo * rename Signed-off-by: Yutaka Kondo * fix Signed-off-by: Yutaka Kondo * revert rename Signed-off-by: Yutaka Kondo * Revert "revert rename" This reverts commit 789ee21e00f65cc3f09b29614e266c54d9ec9b05. * simplify rosdep-depend Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo * fix rebase Signed-off-by: Yutaka Kondo * rename stages Signed-off-by: Yutaka Kondo * fix bake Signed-off-by: Yutaka Kondo * fix dockerfile Signed-off-by: Yutaka Kondo * fix merge Signed-off-by: Yutaka Kondo * add universe-sensing-perception stage Signed-off-by: Yutaka Kondo * update config Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo --- .../actions/docker-build-and-push/action.yaml | 24 +++++++++++ docker/Dockerfile | 41 +++++++++++++++++++ docker/docker-bake.hcl | 23 ++++++++++- 3 files changed, 87 insertions(+), 1 deletion(-) diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index 1dda6a4439f..a4e158fbff9 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -111,6 +111,28 @@ runs: latest=false suffix=-core-devel${{ inputs.tag-suffix }} + - name: Docker meta for autoware:universe-sensing-perception-devel + id: meta-universe-sensing-perception-devel + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + tags: ${{ steps.set-docker-tags.outputs.tags }} + bake-target: docker-metadata-action-universe-sensing-perception-devel + flavor: | + latest=false + suffix=-universe-sensing-perception-devel${{ inputs.tag-suffix }} + + - name: Docker meta for autoware:universe-sensing-perception + id: meta-universe-sensing-perception + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + tags: ${{ steps.set-docker-tags.outputs.tags }} + bake-target: docker-metadata-action-universe-sensing-perception + flavor: | + latest=false + suffix=-universe-sensing-perception${{ inputs.tag-suffix }} + - name: Docker meta for autoware:universe-devel id: meta-universe-devel uses: docker/metadata-action@v5 @@ -148,6 +170,8 @@ runs: docker/docker-bake.hcl ${{ steps.meta-base.outputs.bake-file }} ${{ steps.meta-core-devel.outputs.bake-file }} + ${{ steps.meta-universe-sensing-perception-devel.outputs.bake-file }} + ${{ steps.meta-universe-sensing-perception.outputs.bake-file }} ${{ steps.meta-universe-devel.outputs.bake-file }} ${{ steps.meta-universe.outputs.bake-file }} provenance: false diff --git a/docker/Dockerfile b/docker/Dockerfile index 8f62a41003b..9e62ce5a02e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -85,6 +85,13 @@ RUN rosdep keys --ignore-src --from-paths src \ | sort \ > /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 \ + > /rosdep-universe-sensing-perception-exec-depend-packages.txt \ + && cat /rosdep-universe-sensing-perception-exec-depend-packages.txt COPY src/launcher /autoware/src/launcher COPY src/param /autoware/src/param @@ -258,6 +265,40 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] +FROM base AS universe-sensing-perception +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +ARG ROS_DISTRO +ARG LIB_DIR +ARG SETUP_ARGS + +# Set up runtime environment and artifacts +COPY --from=rosdep-depend /rosdep-universe-sensing-perception-exec-depend-packages.txt /tmp/rosdep-universe-sensing-perception-exec-depend-packages.txt +# hadolint ignore=SC2002 +RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + ./setup-dev-env.sh -y --module all ${SETUP_ARGS} --download-artifacts --no-cuda-drivers --runtime openadkit \ + && 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 \ + /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* + +COPY --from=universe-sensing-perception-devel /opt/autoware /opt/autoware + +# Copy bash aliases +COPY docker/etc/.bash_aliases /root/.bash_aliases +RUN echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc + +ENTRYPOINT ["/ros_entrypoint.sh"] +CMD ["/bin/bash"] + FROM base AS universe SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO diff --git a/docker/docker-bake.hcl b/docker/docker-bake.hcl index 7e48cbf8b1d..4360c907329 100644 --- a/docker/docker-bake.hcl +++ b/docker/docker-bake.hcl @@ -1,10 +1,19 @@ group "default" { - targets = ["base", "core-devel", "universe-devel", "universe"] + targets = [ + "base", + "core-devel", + "universe-sensing-perception-devel", + "universe-sensing-perception", + "universe-devel", + "universe" + ] } // For docker/metadata-action target "docker-metadata-action-base" {} target "docker-metadata-action-core-devel" {} +target "docker-metadata-action-universe-sensing-perception-devel" {} +target "docker-metadata-action-universe-sensing-perception" {} target "docker-metadata-action-universe-devel" {} target "docker-metadata-action-universe" {} @@ -20,6 +29,18 @@ target "core-devel" { target = "core-devel" } +target "universe-sensing-perception-devel" { + inherits = ["docker-metadata-action-universe-sensing-perception-devel"] + dockerfile = "docker/Dockerfile" + target = "universe-sensing-perception-devel" +} + +target "universe-sensing-perception" { + inherits = ["docker-metadata-action-universe-sensing-perception"] + dockerfile = "docker/Dockerfile" + target = "universe-sensing-perception" +} + target "universe-devel" { inherits = ["docker-metadata-action-universe-devel"] dockerfile = "docker/Dockerfile"