From ac59d90d15c9e085d8e7a7b63ffba128d8ff0a5a Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Fri, 11 Oct 2024 19:59:27 +0900 Subject: [PATCH 01/75] fix(docker): install CUDA development drivers in development containers (#5332) --- ansible/playbooks/openadkit.yaml | 8 ++++---- docker/Dockerfile | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ansible/playbooks/openadkit.yaml b/ansible/playbooks/openadkit.yaml index 5cfa0408d58..dc02ee99ef5 100644 --- a/ansible/playbooks/openadkit.yaml +++ b/ansible/playbooks/openadkit.yaml @@ -26,16 +26,16 @@ when: module == 'base' - role: autoware.dev_env.pacmod when: module == 'base' - - role: autoware.dev_env.cuda - when: module == 'base' and prompt_install_nvidia=='y' - - role: autoware.dev_env.tensorrt - when: module == 'base' and prompt_install_nvidia=='y' - role: autoware.dev_env.build_tools when: module == 'all' and install_devel=='y' # Module specific dependencies - role: autoware.dev_env.geographiclib when: module == 'perception-localization' or module == 'all' + - role: autoware.dev_env.cuda + when: (module == 'base' or module == 'perception-localization' or module == 'all') and prompt_install_nvidia=='y' + - role: autoware.dev_env.tensorrt + when: (module == 'base' or module == 'perception-localization' or module == 'all') and prompt_install_nvidia=='y' # Development environment - role: autoware.dev_env.dev_tools diff --git a/docker/Dockerfile b/docker/Dockerfile index efde0797845..82e2ccaf9e0 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -193,12 +193,13 @@ RUN rosdep keys --dependency-types=exec --ignore-src --from-paths src \ FROM base AS core-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO +ARG SETUP_ARGS ENV CCACHE_DIR="/root/.ccache" # 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 all ${SETUP_ARGS} --no-cuda-drivers openadkit \ && ./setup-dev-env.sh -y --module dev-tools openadkit \ && pip uninstall -y ansible ansible-core \ && apt-get autoremove -y && rm -rf "$HOME"/.cache From 2ab4f1cfaaf4027f748cd5d36edfd2eb7e0156a9 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 15 Oct 2024 06:31:44 +0900 Subject: [PATCH 02/75] chore(docker): remove `/autoware/log` after `colcon build` (#5329) --- docker/Dockerfile | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 82e2ccaf9e0..eda2e415942 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -223,7 +223,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --install-base /opt/autoware \ --mixin release compile-commands ccache \ && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build + && rm -rf /autoware/build /autoware/log ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -255,7 +255,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --install-base /opt/autoware \ --mixin release compile-commands ccache \ && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build + && rm -rf /autoware/build /autoware/log ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -287,7 +287,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --install-base /opt/autoware \ --mixin release compile-commands ccache \ && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build + && rm -rf /autoware/build /autoware/log ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -319,7 +319,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --install-base /opt/autoware \ --mixin release compile-commands ccache \ && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build + && rm -rf /autoware/build /autoware/log FROM universe-common-devel AS universe-planning-control-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -353,7 +353,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --install-base /opt/autoware \ --mixin release compile-commands ccache \ && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build + && rm -rf /autoware/build /autoware/log ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -387,7 +387,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --install-base /opt/autoware \ --mixin release compile-commands ccache \ && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build + && rm -rf /autoware/build /autoware/log ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -430,7 +430,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --install-base /opt/autoware \ --mixin release compile-commands ccache \ && du -sh ${CCACHE_DIR} && ccache -s \ - && rm -rf /autoware/build + && rm -rf /autoware/build /autoware/log ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] From 71d2f316818576987c2015971ab72731c470fb13 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Mon, 21 Oct 2024 18:27:02 +0900 Subject: [PATCH 03/75] chore(.github): always run `Show disk space` (#5354) always show disk space Signed-off-by: Yutaka Kondo --- .github/workflows/docker-build-and-push-arm64.yaml | 1 + .github/workflows/docker-build-and-push.yaml | 1 + .github/workflows/health-check-arm64.yaml | 1 + .github/workflows/health-check.yaml | 1 + 4 files changed, 4 insertions(+) diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index c262f0944a1..75a51b48581 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -83,5 +83,6 @@ jobs: tag-suffix: ${{ matrix.tag-suffix }} - name: Show disk space + if: always() run: | df -h diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index a321bfe5ddc..d81db3f4a19 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -78,5 +78,6 @@ jobs: tag-suffix: ${{ matrix.tag-suffix }} - name: Show disk space + if: always() run: | df -h diff --git a/.github/workflows/health-check-arm64.yaml b/.github/workflows/health-check-arm64.yaml index baf58b00d3b..eca18a45bd3 100644 --- a/.github/workflows/health-check-arm64.yaml +++ b/.github/workflows/health-check-arm64.yaml @@ -58,5 +58,6 @@ jobs: LIB_DIR=${{ matrix.lib_dir }} - name: Show disk space + if: always() run: | df -h diff --git a/.github/workflows/health-check.yaml b/.github/workflows/health-check.yaml index 80163069c68..9a54be6cb77 100644 --- a/.github/workflows/health-check.yaml +++ b/.github/workflows/health-check.yaml @@ -68,5 +68,6 @@ jobs: LIB_DIR=${{ matrix.lib_dir }} - name: Show disk space + if: always() run: | df -h From 99dd3de66c8d50bc8445cafbdd0f72e0bb63b0c5 Mon Sep 17 00:00:00 2001 From: chgyg <99009754+ChgygLin@users.noreply.github.com> Date: Wed, 23 Oct 2024 19:53:44 +0800 Subject: [PATCH 04/75] build(autoware.repos): remove ament_cmake fork repository (#5360) Signed-off-by: Chengyong Lin --- autoware.repos | 4 ---- 1 file changed, 4 deletions(-) diff --git a/autoware.repos b/autoware.repos index bd3b94c0240..68d623199ee 100644 --- a/autoware.repos +++ b/autoware.repos @@ -75,10 +75,6 @@ repositories: type: git url: https://github.com/MapIV/llh_converter.git version: ros2 - universe/external/ament_cmake: # TODO(mitsudome-r): remove when https://github.com/ament/ament_cmake/pull/448 is merged - type: git - url: https://github.com/autowarefoundation/ament_cmake.git - version: feat/faster_ament_libraries_deduplicate universe/external/glog: # TODO(Horibe): to use isGoogleInitialized() API in v0.6.0. Remove when the rosdep glog version is updated to v0.6.0 (already updated in Ubuntu 24.04) type: git url: https://github.com/tier4/glog.git From 71c87896fb06cb929f7d0d4f1f65cb0b3a19c9e1 Mon Sep 17 00:00:00 2001 From: SakodaShintaro Date: Wed, 6 Nov 2024 14:04:32 +0900 Subject: [PATCH 05/75] fix: remove `ndt_omp` (#5390) Removed ndt_omp Signed-off-by: Shintaro Sakoda --- autoware.repos | 4 ---- 1 file changed, 4 deletions(-) diff --git a/autoware.repos b/autoware.repos index 68d623199ee..65425f55b93 100644 --- a/autoware.repos +++ b/autoware.repos @@ -55,10 +55,6 @@ repositories: type: git url: https://github.com/tier4/muSSP.git version: tier4/main - universe/external/ndt_omp: - type: git - url: https://github.com/tier4/ndt_omp.git - version: tier4/main universe/external/pointcloud_to_laserscan: type: git url: https://github.com/tier4/pointcloud_to_laserscan.git From 4db1eff03cdd4dc5616d4bff994ecfc9b88e7d5f Mon Sep 17 00:00:00 2001 From: SakodaShintaro Date: Thu, 7 Nov 2024 14:11:53 +0900 Subject: [PATCH 06/75] fix: change the organization of `awsim_sensor_kit_launch` from RobotecAI to tier4 (#5403) Fixed organization of `awsim_sensor_kit_launch` from RobotecAI to tier4 Signed-off-by: Shintaro Sakoda --- autoware.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoware.repos b/autoware.repos index 65425f55b93..66feaa178b2 100644 --- a/autoware.repos +++ b/autoware.repos @@ -110,7 +110,7 @@ repositories: version: main sensor_kit/external/awsim_sensor_kit_launch: # TODO: Integrate into sample_sensor_kit_launch type: git - url: https://github.com/RobotecAI/awsim_sensor_kit_launch.git + url: https://github.com/tier4/awsim_sensor_kit_launch.git version: main sensor_kit/awsim_labs_sensor_kit_launch: type: git From 06d386abd9423482de838d28e8d53741807fead8 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 7 Nov 2024 17:30:08 +0900 Subject: [PATCH 07/75] chore(.devcontainer): rename `.devcontainer` directories (#5407) rename .devcontainer dirs Signed-off-by: Yutaka Kondo --- .devcontainer/{cuda => universe-devel-cuda}/devcontainer.json | 0 .devcontainer/{base => universe-devel}/devcontainer.json | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename .devcontainer/{cuda => universe-devel-cuda}/devcontainer.json (100%) rename .devcontainer/{base => universe-devel}/devcontainer.json (100%) diff --git a/.devcontainer/cuda/devcontainer.json b/.devcontainer/universe-devel-cuda/devcontainer.json similarity index 100% rename from .devcontainer/cuda/devcontainer.json rename to .devcontainer/universe-devel-cuda/devcontainer.json diff --git a/.devcontainer/base/devcontainer.json b/.devcontainer/universe-devel/devcontainer.json similarity index 100% rename from .devcontainer/base/devcontainer.json rename to .devcontainer/universe-devel/devcontainer.json From 9dca3044ef48fc5913d9d5cd23aff9b68313671d Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Fri, 8 Nov 2024 07:39:44 +0900 Subject: [PATCH 08/75] feat(docker): integrate `cuda`/`no-cuda` jobs into single job (#5363) --- .../docker-build-and-push-cuda/action.yaml | 121 ++++ .../actions/docker-build-and-push/action.yaml | 60 +- .github/actions/docker-build/action.yaml | 25 +- .../docker-build-and-push-arm64.yaml | 54 +- .github/workflows/docker-build-and-push.yaml | 54 +- .github/workflows/health-check-arm64.yaml | 24 +- .github/workflows/health-check.yaml | 22 +- docker/Dockerfile | 145 ++++- docker/Dockerfile.svg | 531 ++++++++++-------- docker/docker-bake-cuda.hcl | 38 ++ 10 files changed, 673 insertions(+), 401 deletions(-) create mode 100644 .github/actions/docker-build-and-push-cuda/action.yaml create mode 100644 docker/docker-bake-cuda.hcl diff --git a/.github/actions/docker-build-and-push-cuda/action.yaml b/.github/actions/docker-build-and-push-cuda/action.yaml new file mode 100644 index 00000000000..59f5ccc3569 --- /dev/null +++ b/.github/actions/docker-build-and-push-cuda/action.yaml @@ -0,0 +1,121 @@ +name: docker-build-and-push-cuda +description: Workflow do build and push CUDA images to registry. + +inputs: + platform: + description: "" + required: true + bake-target: + description: "" + required: true + build-args: + description: "" + required: false + +runs: + using: composite + steps: + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Restore ccache + uses: actions/cache/restore@v4 + with: + path: | + root-ccache + key: ccache-${{ inputs.platform }}-${{ hashFiles('src/**/*.cpp') }} + restore-keys: | + ccache-${{ inputs.platform }}- + + - name: Restore apt-get + uses: actions/cache/restore@v4 + with: + path: | + var-cache-apt + key: apt-get-${{ inputs.platform }}-${{ hashFiles('src/**/package.xml') }} + restore-keys: | + apt-get-${{ inputs.platform }}- + + - name: Inject cache into docker + uses: reproducible-containers/buildkit-cache-dance@v3.1.2 + with: + cache-map: | + { + "root-ccache": "/root/.ccache", + "var-cache-apt": "/var/cache/apt" + } + skip-extraction: true + + - name: Get current date + id: date + run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT + shell: bash + + - name: Docker meta for autoware:universe-sensing-perception-devel-cuda + id: meta-universe-sensing-perception-devel-cuda + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + tags: | + type=raw,value=universe-sensing-perception-devel-cuda-${{ inputs.platform }} + type=raw,value=universe-sensing-perception-devel-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} + bake-target: docker-metadata-action-universe-sensing-perception-devel-cuda + flavor: | + latest=false + + - name: Docker meta for autoware:universe-sensing-perception-cuda + id: meta-universe-sensing-perception-cuda + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + tags: | + type=raw,value=universe-sensing-perception-cuda-${{ inputs.platform }} + type=raw,value=universe-sensing-perception-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} + bake-target: docker-metadata-action-universe-sensing-perception-cuda + flavor: | + latest=false + + - name: Docker meta for autoware:universe-devel-cuda + id: meta-universe-devel-cuda + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + tags: | + type=raw,value=universe-devel-cuda-${{ inputs.platform }} + type=raw,value=universe-devel-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} + bake-target: docker-metadata-action-universe-devel-cuda + flavor: | + latest=false + + - name: Docker meta for autoware:universe-cuda + id: meta-universe-cuda + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + tags: | + type=raw,value=universe-cuda-${{ inputs.platform }} + type=raw,value=universe-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} + bake-target: docker-metadata-action-universe-cuda + flavor: | + latest=auto + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ github.token }} + + - name: Build and Push to GitHub Container Registry + uses: docker/bake-action@v5 + with: + push: true + files: | + docker/docker-bake-cuda.hcl + ${{ steps.meta-universe-sensing-perception-devel-cuda.outputs.bake-file }} + ${{ steps.meta-universe-sensing-perception-cuda.outputs.bake-file }} + ${{ steps.meta-universe-devel-cuda.outputs.bake-file }} + ${{ steps.meta-universe-cuda.outputs.bake-file }} + provenance: false + set: | + ${{ inputs.build-args }} diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index 728d52b9376..0a064ee1acf 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -2,9 +2,6 @@ name: docker-build-and-push description: "" inputs: - name: - description: "" - required: true platform: description: "" required: true @@ -14,9 +11,6 @@ inputs: build-args: description: "" required: false - tag-suffix: - description: "" - required: false runs: using: composite @@ -42,9 +36,8 @@ runs: with: path: | root-ccache - key: ccache-${{ inputs.platform }}-${{ inputs.name }}-${{ hashFiles('src/**/*.cpp') }} + key: ccache-${{ inputs.platform }}-${{ hashFiles('src/**/*.cpp') }} restore-keys: | - ccache-${{ inputs.platform }}-${{ inputs.name }}- ccache-${{ inputs.platform }}- - name: Restore apt-get @@ -52,9 +45,8 @@ runs: with: path: | var-cache-apt - key: apt-get-${{ inputs.platform }}-${{ inputs.name }}-${{ hashFiles('src/**/package.xml') }} + key: apt-get-${{ inputs.platform }}-${{ hashFiles('src/**/package.xml') }} restore-keys: | - apt-get-${{ inputs.platform }}-${{ inputs.name }}- apt-get-${{ inputs.platform }}- - name: Inject cache into docker @@ -78,8 +70,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=base${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=base${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=base-${{ inputs.platform }} + type=raw,value=base-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-base flavor: | latest=false @@ -90,8 +82,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=core-devel${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=core-devel${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=core-devel-${{ inputs.platform }} + type=raw,value=core-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-core-devel flavor: | latest=false @@ -102,8 +94,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=universe-sensing-perception-devel${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=universe-sensing-perception-devel${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=universe-sensing-perception-devel-${{ inputs.platform }} + type=raw,value=universe-sensing-perception-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-universe-sensing-perception-devel flavor: | latest=false @@ -114,8 +106,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=universe-sensing-perception${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=universe-sensing-perception${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=universe-sensing-perception-${{ inputs.platform }} + type=raw,value=universe-sensing-perception-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-universe-sensing-perception flavor: | latest=false @@ -126,8 +118,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=universe-localization-mapping-devel${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=universe-localization-mapping-devel${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=universe-localization-mapping-devel-${{ inputs.platform }} + type=raw,value=universe-localization-mapping-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-universe-localization-mapping-devel flavor: | latest=false @@ -138,8 +130,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=universe-localization-mapping${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=universe-localization-mapping${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=universe-localization-mapping-${{ inputs.platform }} + type=raw,value=universe-localization-mapping-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-universe-localization-mapping flavor: | latest=false @@ -150,8 +142,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=universe-planning-control-devel${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=universe-planning-control-devel${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=universe-planning-control-devel-${{ inputs.platform }} + type=raw,value=universe-planning-control-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-universe-planning-control-devel flavor: | latest=false @@ -162,8 +154,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=universe-planning-control${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=universe-planning-control${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=universe-planning-control-${{ inputs.platform }} + type=raw,value=universe-planning-control-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-universe-planning-control flavor: | latest=false @@ -174,8 +166,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=universe-vehicle-system-devel${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=universe-vehicle-system-devel${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=universe-vehicle-system-devel-${{ inputs.platform }} + type=raw,value=universe-vehicle-system-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-universe-vehicle-system-devel flavor: | latest=false @@ -186,8 +178,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=universe-vehicle-system${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=universe-vehicle-system${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=universe-vehicle-system-${{ inputs.platform }} + type=raw,value=universe-vehicle-system-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-universe-vehicle-system flavor: | latest=false @@ -198,8 +190,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=universe-devel${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=universe-devel${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=universe-devel-${{ inputs.platform }} + type=raw,value=universe-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-universe-devel flavor: | latest=false @@ -210,8 +202,8 @@ runs: with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} tags: | - type=raw,value=universe${{ inputs.tag-suffix }}-${{ inputs.platform }} - type=raw,value=universe${{ inputs.tag-suffix }}-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=raw,value=universe-${{ inputs.platform }} + type=raw,value=universe-${{ steps.date.outputs.date }}-${{ inputs.platform }} bake-target: docker-metadata-action-universe flavor: | latest=auto diff --git a/.github/actions/docker-build/action.yaml b/.github/actions/docker-build/action.yaml index de582611886..bfb6383c208 100644 --- a/.github/actions/docker-build/action.yaml +++ b/.github/actions/docker-build/action.yaml @@ -2,9 +2,6 @@ name: docker-build description: "" inputs: - name: - description: "" - required: true platform: description: "" required: true @@ -36,48 +33,44 @@ runs: - name: Cache ccache uses: actions/cache@v4 - if: ${{ inputs.name == 'no-cuda' && github.ref == 'refs/heads/main' }} + if: ${{ github.ref == 'refs/heads/main' }} id: cache-ccache with: path: | root-ccache - key: ccache-${{ inputs.platform }}-${{ inputs.name }}-${{ hashFiles('src/**/*.cpp') }} + key: ccache-${{ inputs.platform }}-${{ hashFiles('src/**/*.cpp') }} restore-keys: | - ccache-${{ inputs.platform }}-${{ inputs.name }}- ccache-${{ inputs.platform }}- - name: Cache apt-get uses: actions/cache@v4 - if: ${{ inputs.name == 'no-cuda' && github.ref == 'refs/heads/main' }} + if: ${{ github.ref == 'refs/heads/main' }} id: cache-apt-get with: path: | var-cache-apt - key: apt-get-${{ inputs.platform }}-${{ inputs.name }}-${{ hashFiles('src/**/package.xml') }} + key: apt-get-${{ inputs.platform }}-${{ hashFiles('src/**/package.xml') }} restore-keys: | - apt-get-${{ inputs.platform }}-${{ inputs.name }}- apt-get-${{ inputs.platform }}- - name: Restore ccache uses: actions/cache/restore@v4 - if: ${{ inputs.name != 'no-cuda' || github.ref != 'refs/heads/main' }} + if: ${{ github.ref != 'refs/heads/main' }} with: path: | root-ccache - key: ccache-${{ inputs.platform }}-${{ inputs.name }}-${{ hashFiles('src/**/*.cpp') }} + key: ccache-${{ inputs.platform }}-${{ hashFiles('src/**/*.cpp') }} restore-keys: | - ccache-${{ inputs.platform }}-${{ inputs.name }}- ccache-${{ inputs.platform }}- - name: Restore apt-get uses: actions/cache/restore@v4 - if: ${{ inputs.name != 'no-cuda' || github.ref != 'refs/heads/main' }} + if: ${{ github.ref != 'refs/heads/main' }} with: path: | var-cache-apt - key: apt-get-${{ inputs.platform }}-${{ inputs.name }}-${{ hashFiles('src/**/package.xml') }} + key: apt-get-${{ inputs.platform }}-${{ hashFiles('src/**/package.xml') }} restore-keys: | - apt-get-${{ inputs.platform }}-${{ inputs.name }}- apt-get-${{ inputs.platform }}- - name: Inject cache into docker @@ -104,4 +97,4 @@ runs: context: . push: false build-args: ${{ inputs.build-args }} - cache-from: type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:${{ inputs.name }}-${{ inputs.platform }}-${{ inputs.cache-tag-suffix }} + cache-from: type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:${{ inputs.platform }}-${{ inputs.cache-tag-suffix }} diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index 75a51b48581..01d6be45f59 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -14,24 +14,6 @@ jobs: docker-build-and-push: needs: load-env runs-on: [self-hosted, linux, ARM64] - strategy: - fail-fast: false - matrix: - name: - - no-cuda - - cuda - include: - - name: no-cuda - platform: arm64 - base_image_env: base_image - lib_dir: aarch64 - setup-args: --no-nvidia - tag-suffix: "" - - name: cuda - platform: arm64 - base_image_env: base_image - lib_dir: aarch64 - tag-suffix: -cuda steps: # https://github.com/actions/checkout/issues/211 - name: Change permission of workspace @@ -62,25 +44,39 @@ jobs: ansible/** docker/** - - name: Build 'Autoware' + - name: Build 'Autoware' without CUDA if: ${{ steps.changed-files.outputs.any_changed == 'true' || github.event_name == 'workflow_dispatch' || (github.event_name == 'push' && github.ref_type == 'tag') }} uses: ./.github/actions/docker-build-and-push with: - name: ${{ matrix.name }} - platform: ${{ matrix.platform }} + platform: arm64 bake-target: autoware build-args: | - *.platform=linux/${{ matrix.platform }} + *.platform=linux/arm64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} - *.args.BASE_IMAGE=${{ needs.load-env.outputs[format('{0}', matrix.base_image_env)] }} - *.args.SETUP_ARGS=${{ matrix.setup-args }} - *.args.LIB_DIR=${{ matrix.lib_dir }} - *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:${{ matrix.name }}-${{ matrix.platform }}-${{ github.ref_name }} - *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:${{ matrix.name }}-${{ matrix.platform }}-main - *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:${{ matrix.name }}-${{ matrix.platform }}-${{ github.ref_name }},mode=max - tag-suffix: ${{ matrix.tag-suffix }} + *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.LIB_DIR=aarch64 + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }} + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max + + - name: Build 'Autoware' with CUDA + if: ${{ steps.changed-files.outputs.any_changed == 'true' || + github.event_name == 'workflow_dispatch' || + (github.event_name == 'push' && github.ref_type == 'tag') }} + uses: ./.github/actions/docker-build-and-push-cuda + with: + platform: arm64 + bake-target: autoware + build-args: | + *.platform=linux/arm64 + *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} + *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.LIB_DIR=aarch64 + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }} + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max - name: Show disk space if: always() diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index d81db3f4a19..232b78c6569 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -14,24 +14,6 @@ jobs: docker-build-and-push: needs: load-env runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - name: - - no-cuda - - cuda - include: - - name: no-cuda - platform: amd64 - base_image_env: base_image - lib_dir: x86_64 - setup-args: --no-nvidia - tag-suffix: "" - - name: cuda - platform: amd64 - base_image_env: base_image - lib_dir: x86_64 - tag-suffix: -cuda steps: - name: Check out repository uses: actions/checkout@v4 @@ -57,25 +39,39 @@ jobs: ansible/** docker/** - - name: Build 'Autoware' + - name: Build 'Autoware' without CUDA if: ${{ steps.changed-files.outputs.any_changed == 'true' || github.event_name == 'workflow_dispatch' || (github.event_name == 'push' && github.ref_type == 'tag') }} uses: ./.github/actions/docker-build-and-push with: - name: ${{ matrix.name }} - platform: ${{ matrix.platform }} + platform: amd64 bake-target: autoware build-args: | - *.platform=linux/${{ matrix.platform }} + *.platform=linux/amd64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} - *.args.BASE_IMAGE=${{ needs.load-env.outputs[format('{0}', matrix.base_image_env)] }} - *.args.SETUP_ARGS=${{ matrix.setup-args }} - *.args.LIB_DIR=${{ matrix.lib_dir }} - *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:${{ matrix.name }}-${{ matrix.platform }}-${{ github.ref_name }} - *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:${{ matrix.name }}-${{ matrix.platform }}-main - *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:${{ matrix.name }}-${{ matrix.platform }}-${{ github.ref_name }},mode=max - tag-suffix: ${{ matrix.tag-suffix }} + *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.LIB_DIR=x86_64 + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }} + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-main + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }},mode=max + + - name: Build 'Autoware' with CUDA + if: ${{ steps.changed-files.outputs.any_changed == 'true' || + github.event_name == 'workflow_dispatch' || + (github.event_name == 'push' && github.ref_type == 'tag') }} + uses: ./.github/actions/docker-build-and-push-cuda + with: + platform: amd64 + bake-target: autoware + build-args: | + *.platform=linux/amd64 + *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} + *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.LIB_DIR=x86_64 + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }} + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-main + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }},mode=max - name: Show disk space if: always() diff --git a/.github/workflows/health-check-arm64.yaml b/.github/workflows/health-check-arm64.yaml index eca18a45bd3..d487e3c6ffd 100644 --- a/.github/workflows/health-check-arm64.yaml +++ b/.github/workflows/health-check-arm64.yaml @@ -12,22 +12,6 @@ jobs: docker-build: needs: load-env runs-on: [self-hosted, linux, ARM64] - strategy: - fail-fast: false - matrix: - name: - - no-cuda - - cuda - include: - - name: no-cuda - platform: arm64 - base_image_env: base_image - lib_dir: aarch64 - setup-args: --no-nvidia - - name: cuda - platform: arm64 - base_image_env: base_image - lib_dir: aarch64 steps: # https://github.com/actions/checkout/issues/211 - name: Change permission of workspace @@ -48,14 +32,12 @@ jobs: - name: Build 'Autoware' uses: ./.github/actions/docker-build with: - name: ${{ matrix.name }} - platform: ${{ matrix.platform }} + platform: arm64 cache-tag-suffix: main build-args: | ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} - BASE_IMAGE=${{ needs.load-env.outputs[format('{0}', matrix.base_image_env)] }} - SETUP_ARGS=${{ matrix.setup-args }} - LIB_DIR=${{ matrix.lib_dir }} + BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + LIB_DIR=aarch64 - name: Show disk space if: always() diff --git a/.github/workflows/health-check.yaml b/.github/workflows/health-check.yaml index 9a54be6cb77..55894881a4d 100644 --- a/.github/workflows/health-check.yaml +++ b/.github/workflows/health-check.yaml @@ -29,20 +29,6 @@ jobs: runs-on: ubuntu-22.04 strategy: fail-fast: false - matrix: - name: - - no-cuda - - cuda - include: - - name: no-cuda - platform: amd64 - base_image_env: base_image - lib_dir: x86_64 - setup-args: --no-nvidia - - name: cuda - platform: amd64 - base_image_env: base_image - lib_dir: x86_64 steps: - name: Check out repository uses: actions/checkout@v4 @@ -58,14 +44,12 @@ jobs: - name: Build 'Autoware' uses: ./.github/actions/docker-build with: - name: ${{ matrix.name }} - platform: ${{ matrix.platform }} + platform: amd64 cache-tag-suffix: main build-args: | ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} - BASE_IMAGE=${{ needs.load-env.outputs[format('{0}', matrix.base_image_env)] }} - SETUP_ARGS=${{ matrix.setup-args }} - LIB_DIR=${{ matrix.lib_dir }} + BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + LIB_DIR=x86_64 - name: Show disk space if: always() diff --git a/docker/Dockerfile b/docker/Dockerfile index eda2e415942..19bb14cf97d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -4,7 +4,6 @@ ARG BASE_IMAGE FROM $BASE_IMAGE AS base SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO -ARG SETUP_ARGS # Install apt packages and add GitHub to known hosts for private repositories RUN rm -f /etc/apt/apt.conf.d/docker-clean \ @@ -25,7 +24,7 @@ WORKDIR /autoware # Set up base environment RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ - ./setup-dev-env.sh -y --module base ${SETUP_ARGS} --no-cuda-drivers --runtime openadkit \ + ./setup-dev-env.sh -y --module base --no-nvidia --no-cuda-drivers --runtime openadkit \ && pip uninstall -y ansible ansible-core \ && apt-get autoremove -y && rm -rf "$HOME"/.cache \ && echo "source /opt/ros/${ROS_DISTRO}/setup.bash" > /etc/bash.bashrc @@ -193,13 +192,12 @@ RUN rosdep keys --dependency-types=exec --ignore-src --from-paths src \ FROM base AS core-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO -ARG SETUP_ARGS ENV CCACHE_DIR="/root/.ccache" # 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 ${SETUP_ARGS} --no-cuda-drivers openadkit \ + ./setup-dev-env.sh -y --module all --no-nvidia --no-cuda-drivers openadkit \ && ./setup-dev-env.sh -y --module dev-tools openadkit \ && pip uninstall -y ansible ansible-core \ && apt-get autoremove -y && rm -rf "$HOME"/.cache @@ -292,6 +290,47 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] +FROM universe-sensing-perception-devel AS universe-sensing-perception-devel-cuda +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +ARG ROS_DISTRO +ENV CCACHE_DIR="/root/.ccache" + +# Set up CUDA development environment +RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + ./setup-dev-env.sh -y --module all --no-cuda-drivers openadkit \ + && pip uninstall -y ansible ansible-core \ + && apt-get autoremove -y && rm -rf "$HOME"/.cache + +# hadolint ignore=SC1091 +RUN --mount=type=cache,target=${CCACHE_DIR} \ + # TODO(youtalk): Move CUDA related packages into a dedicated directory + --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_bytetrack,target=/autoware/src/universe/autoware.universe/perception/autoware_bytetrack \ + --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_lidar_apollo_instance_segmentation,target=/autoware/src/universe/autoware.universe/perception/autoware_lidar_apollo_instance_segmentation \ + --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_lidar_centerpoint,target=/autoware/src/universe/autoware.universe/perception/autoware_lidar_centerpoint \ + --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_lidar_transfusion,target=/autoware/src/universe/autoware.universe/perception/autoware_lidar_transfusion \ + --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_shape_estimation,target=/autoware/src/universe/autoware.universe/perception/autoware_shape_estimation \ + --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_classifier,target=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_classifier \ + --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_common,target=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_common \ + --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_yolox,target=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_yolox \ + --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_traffic_light_classifier,target=/autoware/src/universe/autoware.universe/perception/autoware_traffic_light_classifier \ + --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_traffic_light_fine_detector,target=/autoware/src/universe/autoware.universe/perception/autoware_traffic_light_fine_detector \ + --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 + +ENTRYPOINT ["/ros_entrypoint.sh"] +CMD ["/bin/bash"] + FROM universe-common-devel AS universe-localization-mapping-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO @@ -435,18 +474,32 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] +FROM universe-devel AS universe-devel-cuda +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# Set up CUDA development environment +RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + ./setup-dev-env.sh -y --module all --no-cuda-drivers openadkit \ + && pip uninstall -y ansible ansible-core \ + && apt-get autoremove -y && rm -rf "$HOME"/.cache + +COPY --from=universe-sensing-perception-devel-cuda /opt/autoware /opt/autoware + +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 +# Set up runtime environment COPY --from=rosdep-universe-sensing-perception-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 \ + ./setup-dev-env.sh -y --module all --no-nvidia --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 \ @@ -455,8 +508,7 @@ RUN --mount=type=ssh \ && 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 \ + && rm -rf /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* @@ -469,18 +521,43 @@ RUN echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] +FROM universe-sensing-perception AS universe-sensing-perception-cuda +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +ARG ROS_DISTRO +ARG LIB_DIR + +# Set up CUDA runtime environment and artifacts +# hadolint ignore=SC2002 +RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + ./setup-dev-env.sh -y --module all --download-artifacts --no-cuda-drivers --runtime openadkit \ + && pip uninstall -y ansible ansible-core \ + && 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* + +COPY --from=universe-sensing-perception-devel-cuda /opt/autoware /opt/autoware + +ENTRYPOINT ["/ros_entrypoint.sh"] +CMD ["/bin/bash"] + FROM base AS universe-localization-mapping SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR -ARG SETUP_ARGS -# Set up runtime environment and artifacts +# Set up runtime environment COPY --from=rosdep-universe-localization-mapping-depend /rosdep-universe-localization-mapping-exec-depend-packages.txt /tmp/rosdep-universe-localization-mapping-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} --no-cuda-drivers --runtime openadkit \ + ./setup-dev-env.sh -y --module all --no-nvidia --no-cuda-drivers --runtime openadkit \ && 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 \ @@ -507,14 +584,13 @@ FROM base AS universe-planning-control SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR -ARG SETUP_ARGS -# Set up runtime environment and artifacts +# Set up runtime environment COPY --from=rosdep-universe-planning-control-depend /rosdep-universe-planning-control-exec-depend-packages.txt /tmp/rosdep-universe-planning-control-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} --no-cuda-drivers --runtime openadkit \ + ./setup-dev-env.sh -y --module all --no-nvidia --no-cuda-drivers --runtime openadkit \ && 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 \ @@ -541,14 +617,13 @@ FROM base AS universe-vehicle-system SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR -ARG SETUP_ARGS -# Set up runtime environment and artifacts +# Set up runtime environment COPY --from=rosdep-universe-vehicle-system-depend /rosdep-universe-vehicle-system-exec-depend-packages.txt /tmp/rosdep-universe-vehicle-system-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} --no-cuda-drivers --runtime openadkit \ + ./setup-dev-env.sh -y --module all --no-nvidia --no-cuda-drivers --runtime openadkit \ && 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 \ @@ -575,14 +650,13 @@ FROM base AS universe SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR -ARG SETUP_ARGS -# Set up runtime environment and artifacts +# Set up runtime environment COPY --from=rosdep-universe-depend /rosdep-exec-depend-packages.txt /tmp/rosdep-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 \ + ./setup-dev-env.sh -y --module all --no-nvidia --no-cuda-drivers --runtime openadkit \ && pip uninstall -y ansible ansible-core \ && apt-get update \ && cat /tmp/rosdep-exec-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ @@ -591,8 +665,7 @@ RUN --mount=type=ssh \ && 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 \ + && rm -rf /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* @@ -604,3 +677,29 @@ RUN echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] + +FROM universe AS universe-cuda +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +ARG ROS_DISTRO +ARG LIB_DIR + +# Set up CUDA runtime environment and artifacts +# hadolint ignore=SC2002 +RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + ./setup-dev-env.sh -y --module all --download-artifacts --no-cuda-drivers --runtime openadkit \ + && pip uninstall -y ansible ansible-core \ + && 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* + +COPY --from=universe-devel-cuda /opt/autoware /opt/autoware + +ENTRYPOINT ["/ros_entrypoint.sh"] +CMD ["/bin/bash"] diff --git a/docker/Dockerfile.svg b/docker/Dockerfile.svg index a8d5d4e1d37..5d983ab1436 100644 --- a/docker/Dockerfile.svg +++ b/docker/Dockerfile.svg @@ -1,414 +1,485 @@ - - - + + G - + cluster_legend - + key -FROM ...  -COPY --from=...  -RUN --mount=(.*)from=...  +FROM ...  +COPY --from=...  +RUN --mount=(.*)from=...  key2 -  -  -  +  +  +  key:e->key2:w - - + + key:e->key2:w - - + + key:e->key2:w - - + + external_image_0 - -$BASE_IMAGE + +$BASE_IMAGE stage_0 - -base + +base external_image_0->stage_0 - - + + stage_1 - -rosdep-depend + +rosdep-depend external_image_0->stage_1 - - + + stage_7 - -core-devel + +core-devel stage_0->stage_7 - - + + - + -stage_14 - -universe-sensing-perception +stage_16 + +universe-sensing-perception - + -stage_0->stage_14 - - - +stage_0->stage_16 + + - + -stage_15 - -universe-localization-mapping +stage_18 + +universe-localization-mapping - + -stage_0->stage_15 - - +stage_0->stage_18 + + - + -stage_16 - -universe-planning-control +stage_19 + +universe-planning-control - + -stage_0->stage_16 - - - - +stage_0->stage_19 + + - + -stage_17 - -universe-vehicle-system +stage_20 + +universe-vehicle-system - + -stage_0->stage_17 - +stage_0->stage_20 + + - + -stage_18 - -universe +stage_21 + +universe - + -stage_0->stage_18 - - +stage_0->stage_21 + + + + + stage_1->stage_7 - - + + stage_2 - -rosdep-universe-sensing-perception-depend + +rosdep-universe-sensing-perception-depend stage_1->stage_2 - - + + stage_3 - -rosdep-universe-localization-mapping-depend + +rosdep-universe-localization-mapping-depend stage_1->stage_3 - - + + + stage_4 - -rosdep-universe-planning-control-depend + +rosdep-universe-planning-control-depend stage_1->stage_4 - - - + + stage_5 - -rosdep-universe-vehicle-system-depend + +rosdep-universe-vehicle-system-depend stage_1->stage_5 - - + + stage_6 - -rosdep-universe-depend + +rosdep-universe-depend stage_1->stage_6 - - - + + stage_8 - -universe-common-devel + +universe-common-devel stage_1->stage_8 - - + + - + stage_7->stage_8 - - + + - - -stage_2->stage_14 - - + + +stage_17 + +universe-sensing-perception-cuda + + + +stage_16->stage_17 + + + + + +stage_22 + +universe-cuda + + + +stage_21->stage_22 + + + + + +stage_2->stage_16 + + stage_9 - -universe-sensing-perception-devel + +universe-sensing-perception-devel stage_2->stage_9 - - - - - -stage_3->stage_15 - - + + stage_10 - -universe-localization-mapping-devel + +universe-sensing-perception-devel-cuda - - -stage_3->stage_10 - - + + +stage_2->stage_10 + + + - - -stage_4->stage_16 - - + + +stage_3->stage_18 + + stage_11 - -universe-planning-control-devel - - - -stage_4->stage_11 - - - - - -stage_5->stage_17 - - - + +universe-localization-mapping-devel + + + +stage_3->stage_11 + + + + + +stage_4->stage_19 + + stage_12 - -universe-vehicle-system-devel + +universe-planning-control-devel - - -stage_5->stage_12 - - + + +stage_4->stage_12 + + - + -stage_6->stage_18 - - +stage_5->stage_20 + + stage_13 - -universe-devel + +universe-vehicle-system-devel + + + +stage_5->stage_13 + + + + + +stage_6->stage_21 + - - -stage_6->stage_13 - - + + +stage_14 + +universe-devel + + + +stage_6->stage_14 + + - + stage_8->stage_9 - - - - - -stage_8->stage_10 - - + + - + stage_8->stage_11 - - + + - + stage_8->stage_12 - - + + - + stage_8->stage_13 - - + + + + + +stage_8->stage_14 + + + + + +stage_9->stage_16 + + + + + +stage_9->stage_10 + + - + stage_9->stage_14 - - + + - - -stage_9->stage_13 - - + + +stage_15 + +universe-devel-cuda - + stage_10->stage_15 - - - - - -stage_10->stage_13 - - - - - -stage_11->stage_16 - - - - - -stage_11->stage_13 - - - - - -stage_12->stage_17 - - - - - -stage_12->stage_13 - - - - - -stage_13->stage_18 - - + + + + + +stage_10->stage_17 + + + + + +stage_11->stage_18 + + + + + +stage_11->stage_14 + + + + + +stage_12->stage_19 + + + + + +stage_12->stage_14 + + + + + +stage_13->stage_20 + + + + + +stage_13->stage_14 + + + + + +stage_14->stage_21 + + + + + +stage_14->stage_15 + + + + + +stage_15->stage_22 + + diff --git a/docker/docker-bake-cuda.hcl b/docker/docker-bake-cuda.hcl new file mode 100644 index 00000000000..87aa27df879 --- /dev/null +++ b/docker/docker-bake-cuda.hcl @@ -0,0 +1,38 @@ +group "default" { + targets = [ + "universe-sensing-perception-devel-cuda", + "universe-sensing-perception-cuda", + "universe-devel-cuda", + "universe-cuda" + ] +} + +// For docker/metadata-action +target "docker-metadata-action-universe-sensing-perception-devel-cuda" {} +target "docker-metadata-action-universe-sensing-perception-cuda" {} +target "docker-metadata-action-universe-devel-cuda" {} +target "docker-metadata-action-universe-cuda" {} + +target "universe-sensing-perception-devel-cuda" { + inherits = ["docker-metadata-action-universe-sensing-perception-devel-cuda"] + dockerfile = "docker/Dockerfile" + target = "universe-sensing-perception-devel-cuda" +} + +target "universe-sensing-perception-cuda" { + inherits = ["docker-metadata-action-universe-sensing-perception-cuda"] + dockerfile = "docker/Dockerfile" + target = "universe-sensing-perception-cuda" +} + +target "universe-devel-cuda" { + inherits = ["docker-metadata-action-universe-devel-cuda"] + dockerfile = "docker/Dockerfile" + target = "universe-devel-cuda" +} + +target "universe-cuda" { + inherits = ["docker-metadata-action-universe-cuda"] + dockerfile = "docker/Dockerfile" + target = "universe-cuda" +} From a0d3fca30590e1172fb63fda2c0acfadb296770b Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Mon, 11 Nov 2024 22:29:11 +0900 Subject: [PATCH 09/75] chore(.github): rename `bake-target` to `target-image` and add descriptions to args (#5413) * rename target-image and add descriptions Signed-off-by: Yutaka Kondo * fix feedback Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo --- .../docker-build-and-push-cuda/action.yaml | 18 +++++----- .../actions/docker-build-and-push/action.yaml | 34 +++++++++---------- .github/actions/docker-build/action.yaml | 10 +++--- .../docker-build-and-push-arm64.yaml | 4 +-- .github/workflows/docker-build-and-push.yaml | 4 +-- 5 files changed, 35 insertions(+), 35 deletions(-) diff --git a/.github/actions/docker-build-and-push-cuda/action.yaml b/.github/actions/docker-build-and-push-cuda/action.yaml index 59f5ccc3569..5bf46d0cc17 100644 --- a/.github/actions/docker-build-and-push-cuda/action.yaml +++ b/.github/actions/docker-build-and-push-cuda/action.yaml @@ -1,15 +1,15 @@ name: docker-build-and-push-cuda -description: Workflow do build and push CUDA images to registry. +description: Composite action to build and push CUDA images to registry. inputs: platform: - description: "" + description: Target platform. required: true - bake-target: - description: "" + target-image: + description: Target docker image name in the registry. required: true build-args: - description: "" + description: Additional build args. required: false runs: @@ -55,7 +55,7 @@ runs: id: meta-universe-sensing-perception-devel-cuda uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-sensing-perception-devel-cuda-${{ inputs.platform }} type=raw,value=universe-sensing-perception-devel-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -67,7 +67,7 @@ runs: id: meta-universe-sensing-perception-cuda uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-sensing-perception-cuda-${{ inputs.platform }} type=raw,value=universe-sensing-perception-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -79,7 +79,7 @@ runs: id: meta-universe-devel-cuda uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-devel-cuda-${{ inputs.platform }} type=raw,value=universe-devel-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -91,7 +91,7 @@ runs: id: meta-universe-cuda uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-cuda-${{ inputs.platform }} type=raw,value=universe-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index 0a064ee1acf..3e3bc857fea 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -1,15 +1,15 @@ name: docker-build-and-push -description: "" +description: Composite action to build and push non CUDA images to registry. inputs: platform: - description: "" + description: Target platform. required: true - bake-target: - description: "" + target-image: + description: Target docker image name in the registry. required: true build-args: - description: "" + description: Additional build args. required: false runs: @@ -68,7 +68,7 @@ runs: id: meta-base uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=base-${{ inputs.platform }} type=raw,value=base-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -80,7 +80,7 @@ runs: id: meta-core-devel uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=core-devel-${{ inputs.platform }} type=raw,value=core-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -92,7 +92,7 @@ runs: id: meta-universe-sensing-perception-devel uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-sensing-perception-devel-${{ inputs.platform }} type=raw,value=universe-sensing-perception-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -104,7 +104,7 @@ runs: id: meta-universe-sensing-perception uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-sensing-perception-${{ inputs.platform }} type=raw,value=universe-sensing-perception-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -116,7 +116,7 @@ runs: id: meta-universe-localization-mapping-devel uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-localization-mapping-devel-${{ inputs.platform }} type=raw,value=universe-localization-mapping-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -128,7 +128,7 @@ runs: id: meta-universe-localization-mapping uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-localization-mapping-${{ inputs.platform }} type=raw,value=universe-localization-mapping-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -140,7 +140,7 @@ runs: id: meta-universe-planning-control-devel uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-planning-control-devel-${{ inputs.platform }} type=raw,value=universe-planning-control-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -152,7 +152,7 @@ runs: id: meta-universe-planning-control uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-planning-control-${{ inputs.platform }} type=raw,value=universe-planning-control-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -164,7 +164,7 @@ runs: id: meta-universe-vehicle-system-devel uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-vehicle-system-devel-${{ inputs.platform }} type=raw,value=universe-vehicle-system-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -176,7 +176,7 @@ runs: id: meta-universe-vehicle-system uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-vehicle-system-${{ inputs.platform }} type=raw,value=universe-vehicle-system-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -188,7 +188,7 @@ runs: id: meta-universe-devel uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-devel-${{ inputs.platform }} type=raw,value=universe-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} @@ -200,7 +200,7 @@ runs: id: meta-universe uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=universe-${{ inputs.platform }} type=raw,value=universe-${{ steps.date.outputs.date }}-${{ inputs.platform }} diff --git a/.github/actions/docker-build/action.yaml b/.github/actions/docker-build/action.yaml index bfb6383c208..9a6a6e7e140 100644 --- a/.github/actions/docker-build/action.yaml +++ b/.github/actions/docker-build/action.yaml @@ -1,16 +1,16 @@ name: docker-build -description: "" +description: Composite action to build images only. inputs: platform: - description: "" + description: Target platform. required: true cache-tag-suffix: - description: "" + description: Suffix of the target cache tag. required: true build-args: - description: "" - required: true + description: Additional build args. + required: false runs: using: composite diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index 01d6be45f59..5fd899aaac1 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -51,7 +51,7 @@ jobs: uses: ./.github/actions/docker-build-and-push with: platform: arm64 - bake-target: autoware + target-image: autoware build-args: | *.platform=linux/arm64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} @@ -68,7 +68,7 @@ jobs: uses: ./.github/actions/docker-build-and-push-cuda with: platform: arm64 - bake-target: autoware + target-image: autoware build-args: | *.platform=linux/arm64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index 232b78c6569..9815aa170f3 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -46,7 +46,7 @@ jobs: uses: ./.github/actions/docker-build-and-push with: platform: amd64 - bake-target: autoware + target-image: autoware build-args: | *.platform=linux/amd64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} @@ -63,7 +63,7 @@ jobs: uses: ./.github/actions/docker-build-and-push-cuda with: platform: amd64 - bake-target: autoware + target-image: autoware build-args: | *.platform=linux/amd64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} From 21aa0693d1e5b5856e3095f81536531c273fff5e Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 13:19:59 +0900 Subject: [PATCH 10/75] feat(docker): install CUDA development/runtime libraries only 1 time (#5419) * add base-cuda Signed-off-by: Yutaka Kondo * update svg Signed-off-by: Yutaka Kondo * not cache cuda packages Signed-off-by: Yutaka Kondo * push base-cuda image Signed-off-by: Yutaka Kondo * Update docker-build-and-push.yaml * Update docker-build-and-push-arm64.yaml * separate jobs Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo --- .../docker-build-and-push-cuda/action.yaml | 26 + .../docker-build-and-push-arm64.yaml | 33 + .github/workflows/docker-build-and-push.yaml | 33 + docker/Dockerfile | 76 +- docker/Dockerfile.svg | 704 ++++++++++-------- docker/docker-bake-cuda.hcl | 8 + 6 files changed, 536 insertions(+), 344 deletions(-) diff --git a/.github/actions/docker-build-and-push-cuda/action.yaml b/.github/actions/docker-build-and-push-cuda/action.yaml index 5bf46d0cc17..c64be7e3786 100644 --- a/.github/actions/docker-build-and-push-cuda/action.yaml +++ b/.github/actions/docker-build-and-push-cuda/action.yaml @@ -15,6 +15,19 @@ inputs: runs: using: composite steps: + - name: Install jq and vcstool + run: | + sudo apt-get -y update + sudo apt-get -y install jq python3-pip + pip install --no-cache-dir vcstool + shell: bash + + - name: Run vcs import + run: | + mkdir src + vcs import src < autoware.repos + shell: bash + - name: Setup Docker Buildx uses: docker/setup-buildx-action@v3 @@ -51,6 +64,18 @@ runs: run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT shell: bash + - name: Docker meta for autoware:base-cuda + id: meta-base-cuda + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + tags: | + type=raw,value=base-cuda-${{ inputs.platform }} + type=raw,value=base-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} + bake-target: docker-metadata-action-base-cuda + flavor: | + latest=false + - name: Docker meta for autoware:universe-sensing-perception-devel-cuda id: meta-universe-sensing-perception-devel-cuda uses: docker/metadata-action@v5 @@ -112,6 +137,7 @@ runs: push: true files: | docker/docker-bake-cuda.hcl + ${{ steps.meta-base-cuda.outputs.bake-file }} ${{ steps.meta-universe-sensing-perception-devel-cuda.outputs.bake-file }} ${{ steps.meta-universe-sensing-perception-cuda.outputs.bake-file }} ${{ steps.meta-universe-devel-cuda.outputs.bake-file }} diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index 5fd899aaac1..e8eba9440fe 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -61,6 +61,39 @@ jobs: *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max + - name: Show disk space + if: always() + run: | + df -h + + docker-build-and-push-cuda: + needs: [load-env, docker-build-and-push] + runs-on: [self-hosted, linux, ARM64] + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set git config + uses: autowarefoundation/autoware-github-actions/set-git-config@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Free disk space + uses: ./.github/actions/free-disk-space + + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v45 + with: + files: | + *.env + *.repos + .github/actions/docker-build-and-push/action.yaml + .github/workflows/docker-build-and-push*.yaml + ansible-galaxy-requirements.yaml + ansible/** + docker/** + - name: Build 'Autoware' with CUDA if: ${{ steps.changed-files.outputs.any_changed == 'true' || github.event_name == 'workflow_dispatch' || diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index 9815aa170f3..ad185aac5c5 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -56,6 +56,39 @@ jobs: *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-main *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }},mode=max + - name: Show disk space + if: always() + run: | + df -h + + docker-build-and-push-cuda: + needs: [load-env, docker-build-and-push] + runs-on: ubuntu-22.04 + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set git config + uses: autowarefoundation/autoware-github-actions/set-git-config@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Free disk space + uses: ./.github/actions/free-disk-space + + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v45 + with: + files: | + *.env + *.repos + .github/actions/docker-build-and-push/action.yaml + .github/workflows/docker-build-and-push*.yaml + ansible-galaxy-requirements.yaml + ansible/** + docker/** + - name: Build 'Autoware' with CUDA if: ${{ steps.changed-files.outputs.any_changed == 'true' || github.event_name == 'workflow_dispatch' || diff --git a/docker/Dockerfile b/docker/Dockerfile index 19bb14cf97d..e5025e5d38a 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -35,6 +35,16 @@ RUN chmod +x /ros_entrypoint.sh ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] +FROM base AS base-cuda +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# Set up CUDA runtime environment and artifacts +# hadolint ignore=SC2002 +RUN --mount=type=ssh \ + ./setup-dev-env.sh -y --module base --download-artifacts --no-cuda-drivers --runtime openadkit \ + && pip uninstall -y ansible ansible-core \ + && apt-get autoremove -y && rm -rf "$HOME"/.cache + # hadolint ignore=DL3006 FROM $BASE_IMAGE AS rosdep-depend SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -258,6 +268,19 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] +FROM universe-common-devel AS universe-common-devel-cuda +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# Set up CUDA development environment +# hadolint ignore=SC2002 +RUN --mount=type=ssh \ + ./setup-dev-env.sh -y --module all --no-cuda-drivers --runtime openadkit \ + && pip uninstall -y ansible ansible-core \ + && apt-get autoremove -y && rm -rf "$HOME"/.cache + +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 @@ -290,17 +313,18 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM universe-sensing-perception-devel AS universe-sensing-perception-devel-cuda +FROM universe-common-devel-cuda AS universe-sensing-perception-devel-cuda SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ENV CCACHE_DIR="/root/.ccache" -# Set up CUDA development environment +# Install rosdep dependencies +COPY --from=rosdep-universe-sensing-perception-depend /rosdep-universe-sensing-perception-depend-packages.txt /tmp/rosdep-universe-sensing-perception-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 --no-cuda-drivers openadkit \ - && pip uninstall -y ansible ansible-core \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache + apt-get update \ + && cat /tmp/rosdep-universe-sensing-perception-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 # hadolint ignore=SC1091 RUN --mount=type=cache,target=${CCACHE_DIR} \ @@ -328,6 +352,8 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ && du -sh ${CCACHE_DIR} && ccache -s \ && rm -rf /autoware/build +COPY --from=universe-sensing-perception-devel /opt/autoware /opt/autoware + ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -474,17 +500,19 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM universe-devel AS universe-devel-cuda +FROM universe-common-devel-cuda AS universe-devel-cuda SHELL ["/bin/bash", "-o", "pipefail", "-c"] -# Set up CUDA development environment +# Install rosdep dependencies +COPY --from=rosdep-universe-depend /rosdep-universe-depend-packages.txt /tmp/rosdep-universe-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 --no-cuda-drivers openadkit \ - && pip uninstall -y ansible ansible-core \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache + apt-get update \ + && 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=universe-sensing-perception-devel-cuda /opt/autoware /opt/autoware +COPY --from=universe-devel /opt/autoware /opt/autoware ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -508,7 +536,8 @@ RUN --mount=type=ssh \ && find / -name "*.o" -type f -delete \ && find / -name "*.h" -type f -delete \ && find / -name "*.hpp" -type f -delete \ - && rm -rf /root/.local/pipx /opt/ros/"$ROS_DISTRO"/include /etc/apt/sources.list.d/cuda*.list \ + && 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* @@ -521,17 +550,20 @@ RUN echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM universe-sensing-perception AS universe-sensing-perception-cuda +FROM base-cuda AS universe-sensing-perception-cuda SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR -# Set up CUDA runtime environment and artifacts +# Set up runtime environment +COPY --from=rosdep-universe-sensing-perception-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 --download-artifacts --no-cuda-drivers --runtime openadkit \ + ./setup-dev-env.sh -y --module all --no-nvidia --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 \ @@ -665,7 +697,8 @@ RUN --mount=type=ssh \ && find / -name "*.o" -type f -delete \ && find / -name "*.h" -type f -delete \ && find / -name "*.hpp" -type f -delete \ - && rm -rf /root/.local/pipx /opt/ros/"$ROS_DISTRO"/include /etc/apt/sources.list.d/cuda*.list \ + && 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* @@ -678,17 +711,20 @@ RUN echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM universe AS universe-cuda +FROM base-cuda AS universe-cuda SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR -# Set up CUDA runtime environment and artifacts +# Set up runtime environment +COPY --from=rosdep-universe-depend /rosdep-exec-depend-packages.txt /tmp/rosdep-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 --download-artifacts --no-cuda-drivers --runtime openadkit \ + ./setup-dev-env.sh -y --module all --no-nvidia --no-cuda-drivers --runtime openadkit \ && 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 \ diff --git a/docker/Dockerfile.svg b/docker/Dockerfile.svg index 5d983ab1436..7ad00076c97 100644 --- a/docker/Dockerfile.svg +++ b/docker/Dockerfile.svg @@ -4,482 +4,538 @@ - - + + G - + cluster_legend - + key -FROM ...  -COPY --from=...  -RUN --mount=(.*)from=...  +FROM ...  +COPY --from=...  +RUN --mount=(.*)from=...  key2 -  -  -  +  +  +  key:e->key2:w - - + + key:e->key2:w - - + + key:e->key2:w - - + + external_image_0 - -$BASE_IMAGE + +$BASE_IMAGE stage_0 - -base + +base external_image_0->stage_0 - - + + - + -stage_1 - -rosdep-depend +stage_2 + +rosdep-depend - + -external_image_0->stage_1 - - +external_image_0->stage_2 + + - + -stage_7 - -core-devel +stage_1 + +base-cuda - + -stage_0->stage_7 - - +stage_0->stage_1 + + - + -stage_16 - -universe-sensing-perception +stage_8 + +core-devel - + -stage_0->stage_16 - - +stage_0->stage_8 + + stage_18 - -universe-localization-mapping + +universe-sensing-perception stage_0->stage_18 - - - - - -stage_19 - -universe-planning-control - - - -stage_0->stage_19 - - + + + - + stage_20 - -universe-vehicle-system + +universe-localization-mapping - + stage_0->stage_20 - - + - + stage_21 - -universe + +universe-planning-control - + stage_0->stage_21 - - - - - + + - - -stage_1->stage_7 - - + + +stage_22 + +universe-vehicle-system - + + +stage_0->stage_22 + + + + -stage_2 - -rosdep-universe-sensing-perception-depend +stage_23 + +universe - + -stage_1->stage_2 - - +stage_0->stage_23 + + + + + + +stage_2->stage_8 + + - + stage_3 - -rosdep-universe-localization-mapping-depend + +rosdep-universe-sensing-perception-depend - - -stage_1->stage_3 - - - + + +stage_2->stage_3 + + - + stage_4 - -rosdep-universe-planning-control-depend + +rosdep-universe-localization-mapping-depend - - -stage_1->stage_4 - - + + +stage_2->stage_4 + + - + stage_5 - -rosdep-universe-vehicle-system-depend + +rosdep-universe-planning-control-depend - - -stage_1->stage_5 - - + + +stage_2->stage_5 + + - + stage_6 - -rosdep-universe-depend + +rosdep-universe-vehicle-system-depend - - -stage_1->stage_6 - - + + +stage_2->stage_6 + + - - -stage_8 - -universe-common-devel + + +stage_7 + +rosdep-universe-depend - + -stage_1->stage_8 - - - - - -stage_7->stage_8 - - - - - -stage_17 - -universe-sensing-perception-cuda - - - -stage_16->stage_17 - - - - - -stage_22 - -universe-cuda - - - -stage_21->stage_22 - - - - - -stage_2->stage_16 - - +stage_2->stage_7 + + + - + stage_9 - -universe-sensing-perception-devel + +universe-common-devel stage_2->stage_9 - - + + - - -stage_10 - -universe-sensing-perception-devel-cuda + + +stage_19 + +universe-sensing-perception-cuda - - -stage_2->stage_10 - - - + + +stage_1->stage_19 + + + + + +stage_24 + +universe-cuda + + + +stage_1->stage_24 + + + + + +stage_8->stage_9 + + stage_3->stage_18 - - + + + + + +stage_3->stage_19 + + - + stage_11 - -universe-localization-mapping-devel + +universe-sensing-perception-devel - + stage_3->stage_11 - - - - - -stage_4->stage_19 - - + + - + stage_12 - -universe-planning-control-devel - - - -stage_4->stage_12 - - - - - -stage_5->stage_20 - - + +universe-sensing-perception-devel-cuda + + + +stage_3->stage_12 + + + + + + +stage_4->stage_20 + + + - + stage_13 - -universe-vehicle-system-devel + +universe-localization-mapping-devel - - -stage_5->stage_13 - - + + +stage_4->stage_13 + + - - -stage_6->stage_21 - + + +stage_5->stage_21 + + - + stage_14 - -universe-devel + +universe-planning-control-devel + + + +stage_5->stage_14 + + + + + +stage_6->stage_22 + + + - - -stage_6->stage_14 - - + + +stage_15 + +universe-vehicle-system-devel - - -stage_8->stage_9 - - - - - -stage_8->stage_11 - - - - - -stage_8->stage_12 - - - - - -stage_8->stage_13 - - + + +stage_6->stage_15 + + - + -stage_8->stage_14 - - +stage_7->stage_23 + + - - -stage_9->stage_16 - - - - + -stage_9->stage_10 - - +stage_7->stage_24 + + + - - -stage_9->stage_14 - - + + +stage_16 + +universe-devel - - -stage_15 - -universe-devel-cuda + + +stage_7->stage_16 + + - + + +stage_17 + +universe-devel-cuda + + + +stage_7->stage_17 + + + + -stage_10->stage_15 - - +stage_9->stage_11 + + - + -stage_10->stage_17 - - +stage_9->stage_13 + + - + + +stage_9->stage_14 + + + + +stage_9->stage_15 + + + + + +stage_9->stage_16 + + + + + +stage_10 + +universe-common-devel-cuda + + + +stage_9->stage_10 + + + + + stage_11->stage_18 - - + + - - -stage_11->stage_14 - - + + +stage_11->stage_12 + + + + + +stage_11->stage_16 + + - + stage_12->stage_19 - - + + - - -stage_12->stage_14 - - + + +stage_12->stage_17 + + - + stage_13->stage_20 - - + + - - -stage_13->stage_14 - - + + +stage_13->stage_16 + + - + stage_14->stage_21 - - + + - - -stage_14->stage_15 - - + + +stage_14->stage_16 + + - + stage_15->stage_22 - - + + + + + +stage_15->stage_16 + + + + + +stage_16->stage_23 + + + + + +stage_16->stage_17 + + + + + +stage_17->stage_24 + + + + + +stage_10->stage_12 + + + + + +stage_10->stage_17 + + diff --git a/docker/docker-bake-cuda.hcl b/docker/docker-bake-cuda.hcl index 87aa27df879..44ec1142178 100644 --- a/docker/docker-bake-cuda.hcl +++ b/docker/docker-bake-cuda.hcl @@ -1,5 +1,6 @@ group "default" { targets = [ + "base-cuda", "universe-sensing-perception-devel-cuda", "universe-sensing-perception-cuda", "universe-devel-cuda", @@ -8,11 +9,18 @@ group "default" { } // For docker/metadata-action +target "docker-metadata-action-base-cuda" {} target "docker-metadata-action-universe-sensing-perception-devel-cuda" {} target "docker-metadata-action-universe-sensing-perception-cuda" {} target "docker-metadata-action-universe-devel-cuda" {} target "docker-metadata-action-universe-cuda" {} +target "base-cuda" { + inherits = ["docker-metadata-action-base-cuda"] + dockerfile = "docker/Dockerfile" + target = "base-cuda" +} + target "universe-sensing-perception-devel-cuda" { inherits = ["docker-metadata-action-universe-sensing-perception-devel-cuda"] dockerfile = "docker/Dockerfile" From e637867f30c970358abba99e8f058a2ad696d04d Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 17:23:04 +0900 Subject: [PATCH 11/75] refactor(docker): replace the multiple `rosdep` commands with `resolve_rosdep_keys.sh`. (#5424) * run resolve_rosdep_keys.sh Signed-off-by: Yutaka Kondo * style(pre-commit): autofix * update .dockerignore Signed-off-by: Yutaka Kondo * chmod +x Signed-off-by: Yutaka Kondo * fix location Signed-off-by: Yutaka Kondo * remove rosdep update Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .dockerignore | 1 + docker/Dockerfile | 74 +++++---------------------- docker/scripts/resolve_rosdep_keys.sh | 14 +++++ 3 files changed, 29 insertions(+), 60 deletions(-) create mode 100755 docker/scripts/resolve_rosdep_keys.sh 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/**/.* diff --git a/docker/Dockerfile b/docker/Dockerfile index e5025e5d38a..846b8e63d7b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -52,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 \ @@ -64,21 +66,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 +82,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 +95,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 +113,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 +128,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 +145,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..1615e9f68fe --- /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 keys --ignore-src --from-paths "$src_path" | + xargs rosdep resolve --rosdistro "$ros_distro" | + grep -v '^#' | + sed 's/ \+/\n/g' | + sort +} + +resolve_rosdep_keys "$@" From 7aed5b59a40dd2c1e963df3e26d752c8cc4efe7e Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 18:14:01 +0900 Subject: [PATCH 12/75] refactor(docker): replace the multiple `colcon` commands with `build_and_clean.sh`. (#5425) * run resolve_rosdep_keys.sh Signed-off-by: Yutaka Kondo * style(pre-commit): autofix * update .dockerignore Signed-off-by: Yutaka Kondo * chmod +x Signed-off-by: Yutaka Kondo * fix location Signed-off-by: Yutaka Kondo * remove rosdep update Signed-off-by: Yutaka Kondo * run build_and_clean.sh Signed-off-by: Yutaka Kondo * style(pre-commit): autofix --------- Signed-off-by: Yutaka Kondo Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- 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..53c968ef722 --- /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 fb38f169b2d9b3b514f1ee10599882c06be56c76 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 20:11:50 +0900 Subject: [PATCH 13/75] refactor(docker): replace the multiple `rm -rf` commands with `cleanup_system.sh`. (#5426) --- docker/Dockerfile | 72 ++++---------------------------- docker/scripts/cleanup_system.sh | 18 ++++++++ 2 files changed, 27 insertions(+), 63 deletions(-) create mode 100755 docker/scripts/cleanup_system.sh diff --git a/docker/Dockerfile b/docker/Dockerfile index 40165e5c5f8..5534205363e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -19,6 +19,8 @@ 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 +RUN chmod +x /autoware/cleanup_system.sh WORKDIR /autoware # Set up base environment @@ -424,15 +426,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 +451,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 +472,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 +497,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 +522,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 +547,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 +572,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..1e8d911becc --- /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 98a9ab5417f5b800508d001316c82776d09565af Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 12 Nov 2024 21:11:02 +0900 Subject: [PATCH 14/75] fix(.github): fix `target-image` (#5428) fix target-image Signed-off-by: Yutaka Kondo --- .github/actions/docker-build-and-push-cuda/action.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build-and-push-cuda/action.yaml b/.github/actions/docker-build-and-push-cuda/action.yaml index c64be7e3786..fc28683d892 100644 --- a/.github/actions/docker-build-and-push-cuda/action.yaml +++ b/.github/actions/docker-build-and-push-cuda/action.yaml @@ -68,7 +68,7 @@ runs: id: meta-base-cuda uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.bake-target }} + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | type=raw,value=base-cuda-${{ inputs.platform }} type=raw,value=base-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} From 4408c542be1d6b0d40fb6ab7247850dbc7ac670f Mon Sep 17 00:00:00 2001 From: Esteve Fernandez <33620+esteve@users.noreply.github.com> Date: Tue, 12 Nov 2024 16:15:28 +0100 Subject: [PATCH 15/75] chore: remove tvm_utility artifacts from Ansible tasks (#5427) Signed-off-by: Esteve Fernandez --- ansible/roles/artifacts/tasks/main.yaml | 26 ------------------------- 1 file changed, 26 deletions(-) diff --git a/ansible/roles/artifacts/tasks/main.yaml b/ansible/roles/artifacts/tasks/main.yaml index 02825a0d041..c4f7ede0089 100644 --- a/ansible/roles/artifacts/tasks/main.yaml +++ b/ansible/roles/artifacts/tasks/main.yaml @@ -402,29 +402,3 @@ dest: "{{ data_dir }}/traffic_light_fine_detector/tlr_labels.txt" mode: "644" checksum: sha256:a2a91f5fe9c2e68e3e3647a272bb9bb25cd07631a1990a3fb15efddce7691131 - -# tvm_utility -- name: Create tvm_utility/models directory inside {{ data_dir }} - ansible.builtin.file: - path: "{{ data_dir }}/tvm_utility/models" - mode: "755" - state: directory - -- name: Download yolo_v2_tiny-x86_64-llvm-3.0.0-20221221.tar.gz - become: true - ansible.builtin.get_url: - url: https://autoware-modelzoo.s3.us-east-2.amazonaws.com/models/3.0.0-20221221/yolo_v2_tiny-x86_64-llvm-3.0.0-20221221.tar.gz - dest: "{{ data_dir }}/tvm_utility/yolo_v2_tiny-x86_64-llvm-3.0.0-20221221.tar.gz" - mode: "644" - checksum: sha256:66b3ca668e577393b657fbe1ed626538d89ca3adccd5862de6c7fa190238dbca - -- name: Create yolo_v2_tiny folder in tvm_utility/models of {{ data_dir }} - ansible.builtin.file: - path: "{{ data_dir }}/tvm_utility/models/yolo_v2_tiny" - mode: "755" - state: directory - -- name: Extract yolo_v2_tiny-x86_64-llvm-3.0.0-20221221.tar.gz - ansible.builtin.unarchive: - src: "{{ data_dir }}/tvm_utility/yolo_v2_tiny-x86_64-llvm-3.0.0-20221221.tar.gz" - dest: "{{ data_dir }}/tvm_utility/models/yolo_v2_tiny" From 35911067370ca0130608f1fec3eafaab2a4ce8e6 Mon Sep 17 00:00:00 2001 From: Yukinari Hisaki <42021302+yhisaki@users.noreply.github.com> Date: Fri, 15 Nov 2024 15:17:28 +0900 Subject: [PATCH 16/75] feat(.clang-tidy): add ExtraArgs (#5439) Signed-off-by: Y.Hisaki --- .clang-tidy | 3 +++ .clang-tidy-ci | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.clang-tidy b/.clang-tidy index 06c54854b5d..f5eccdf3cc7 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -202,6 +202,9 @@ WarningsAsErrors: " HeaderFilterRegex: ^(?!\/usr)(?!\/opt) +ExtraArgs: + - -std=c++17 + FormatStyle: none CheckOptions: diff --git a/.clang-tidy-ci b/.clang-tidy-ci index 04a9f8bacce..c6dfcdb37c7 100644 --- a/.clang-tidy-ci +++ b/.clang-tidy-ci @@ -225,6 +225,9 @@ WarningsAsErrors: " HeaderFilterRegex: ^(?!\/usr)(?!\/opt) +ExtraArgs: + - -std=c++17 + CheckOptions: - key: bugprone-argument-comment.CommentBoolLiterals value: "0" From d1cae7e0a35bdead9619a859738be17d1387f148 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=2E=20Fatih=20C=C4=B1r=C4=B1t?= Date: Mon, 18 Nov 2024 12:01:17 +0300 Subject: [PATCH 17/75] docs(ansible): update role readme files (#5443) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: M. Fatih Cırıt --- ansible/roles/cuda/README.md | 34 +++++++++++++++++++++++-------- ansible/roles/dev_tools/README.md | 25 ++++++++--------------- ansible/roles/tensorrt/README.md | 22 +++++++------------- 3 files changed, 42 insertions(+), 39 deletions(-) diff --git a/ansible/roles/cuda/README.md b/ansible/roles/cuda/README.md index 57d638d1187..d669c573e91 100644 --- a/ansible/roles/cuda/README.md +++ b/ansible/roles/cuda/README.md @@ -1,6 +1,6 @@ # cuda -This role installs [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit) following [this page](https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_network) and [this page](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions). +This role installs [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit) following [this page](https://developer.nvidia.com/cuda-12-3-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_network) and [this page](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions). This role also registers Vulkan, OpenGL, and OpenCL GPU vendors for future use. @@ -13,22 +13,36 @@ This role also registers Vulkan, OpenGL, and OpenCL GPU vendors for future use. ## Manual Installation -Follow these instructions to download and install the CUDA Toolkit and the corresponding NVIDIA Driver for Ubuntu 20.04. +### Version compatibility -For Universe, the `cuda_version` version can also be found in: -[../../playbooks/universe.yaml](../../playbooks/universe.yaml) +Autoware currently uses CUDA `12.3` and from this [CUDA Application Compatibility Support Matrix](https://docs.nvidia.com/deploy/cuda-compatibility/#use-the-right-compat-package) that only the NVIDIA driver version `545` is compatible with this version of CUDA. + +#### 🛠️ For Advanced Users + +⚠️ **Proceed with caution**: Avoid removing essential system components. + +To prevent conflicts during NVIDIA installation, we recommend completely removing old NVIDIA Drivers and CUDA by following this guide: [How can I uninstall a NVIDIA driver completely?](https://askubuntu.com/a/206289/761440). + +- **Important**: If you remove the previous NVIDIA drivers, ensure you install the recommended versions listed below **before restarting your system**. + +Once the drivers are installed correctly, you may safely restart your system. + +### CUDA Toolkit and Driver + +Follow these instructions to download and install the CUDA Toolkit. + +From: ```bash wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env -# From: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#network-repo-installation-for-ubuntu - os=ubuntu2204 wget https://developer.download.nvidia.com/compute/cuda/repos/$os/$(uname -m)/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update cuda_version_dashed=$(eval sed -e "s/[.]/-/g" <<< "${cuda_version}") -sudo apt-get -y install cuda-${cuda_version_dashed} +sudo apt-get -y install cuda-toolkit-${cuda_version_dashed} +sudo apt-get install -y cuda-drivers-545 ``` Perform the post installation actions: @@ -37,9 +51,13 @@ Perform the post installation actions: # Taken from: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc +``` + +### GPU Vendors -# Register Vulkan, OpenGL, and OpenCL GPU vendors +Register Vulkan, OpenGL, and OpenCL GPU vendors following the instructions below. +```bash # Create Vulkan directory sudo mkdir -p /etc/vulkan/icd.d sudo chmod 0755 /etc/vulkan/icd.d diff --git a/ansible/roles/dev_tools/README.md b/ansible/roles/dev_tools/README.md index 145c70f020b..89d51fbdc3b 100644 --- a/ansible/roles/dev_tools/README.md +++ b/ansible/roles/dev_tools/README.md @@ -12,34 +12,27 @@ This role installs optional development tools for Autoware. ## Inputs -| Name | Required | Description | -| ------------- | -------- | --------------------------------------- | -| clang-version | true | The version of clang-format to install. | -| ros-distro | true | The ROS distribution. | +| Name | Required | Description | +| ------------------------------- | -------- | --------------------------------------- | +| pre_commit_clang_format_version | true | The version of clang-format to install. | +| rosdistro | true | The ROS distribution. | ## Manual Installation ```bash -#!/bin/bash +# For the environment variables +wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env -# Update package lists sudo apt-get update -# Install Git LFS +sudo apt install python3-pip +sudo apt-get install -y golang +sudo apt-get install -y ros-${rosdistro}-plotjuggler-ros sudo apt-get install -y git-lfs # Setup Git LFS git lfs install -# Install pre-commit using pip3 pip3 install pre-commit - -# Install a specific version of clang-format using pip3 pip3 install clang-format==${pre_commit_clang_format_version} - -# Install Go -sudo apt-get install -y golang - -# Install PlotJuggler -sudo apt-get install -y ros-${ROS_DISTRO}-plotjuggler-ros ``` diff --git a/ansible/roles/tensorrt/README.md b/ansible/roles/tensorrt/README.md index 1df87cad89e..2a6c7d39232 100644 --- a/ansible/roles/tensorrt/README.md +++ b/ansible/roles/tensorrt/README.md @@ -1,6 +1,6 @@ # tensorrt -This role installs TensorRT and cuDNN following [this page](https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing). +This role installs TensorRT and cuDNN following [the official NVIDIA TensorRT Installation Guide](https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing). ## Inputs @@ -11,29 +11,16 @@ This role installs TensorRT and cuDNN following [this page](https://docs.nvidia. ## Manual Installation -For Universe, the `cudnn_version` and `tensorrt_version` variables should be copied from -[amd64.env](../../../amd64.env) or [arm64.env](../../../arm64.env) depending on the architecture used. - ```bash +# For the environment variables wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env -# Can also be found at: https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing - sudo apt-get install -y \ libcudnn8=${cudnn_version} \ libnvinfer8=${tensorrt_version} \ libnvinfer-plugin8=${tensorrt_version} \ libnvparsers8=${tensorrt_version} \ libnvonnxparsers8=${tensorrt_version} \ - -sudo apt-mark hold \ -libcudnn8 \ -libnvinfer8 \ -libnvinfer-plugin8 \ -libnvparsers8 \ -libnvonnxparsers8 - -sudo apt-get install -y \ libcudnn8-dev=${cudnn_version} \ libnvinfer-dev=${tensorrt_version} \ libnvinfer-plugin-dev=${tensorrt_version} \ @@ -43,6 +30,11 @@ libnvparsers-dev=${tensorrt_version} \ libnvonnxparsers-dev=${tensorrt_version} sudo apt-mark hold \ +libcudnn8 \ +libnvinfer8 \ +libnvinfer-plugin8 \ +libnvparsers8 \ +libnvonnxparsers8 \ libcudnn8-dev \ libnvinfer-dev \ libnvinfer-plugin-dev \ From ef7a992c52f54269a8b7773f6d26c218ec6081dd Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Mon, 18 Nov 2024 18:14:38 +0900 Subject: [PATCH 18/75] refactor(docker): replace the multiple `apt-get autoremove` commands with `cleanup_apt.sh`. (#5447) --- docker/Dockerfile | 56 +++++++++++++++++++++-------------- docker/scripts/cleanup_apt.sh | 11 +++++++ 2 files changed, 45 insertions(+), 22 deletions(-) create mode 100755 docker/scripts/cleanup_apt.sh diff --git a/docker/Dockerfile b/docker/Dockerfile index 5534205363e..1bf5b246c4b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -5,6 +5,15 @@ FROM $BASE_IMAGE AS base SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO +# Copy files +COPY setup-dev-env.sh ansible-galaxy-requirements.yaml amd64.env arm64.env /autoware/ +COPY ansible/ /autoware/ansible/ +COPY docker/scripts/cleanup_apt.sh /autoware/cleanup_apt.sh +RUN chmod +x /autoware/cleanup_apt.sh +COPY docker/scripts/cleanup_system.sh /autoware/cleanup_system.sh +RUN chmod +x /autoware/cleanup_system.sh +WORKDIR /autoware + # Install apt packages and add GitHub to known hosts for private repositories RUN rm -f /etc/apt/apt.conf.d/docker-clean \ && echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' >/etc/apt/apt.conf.d/keep-cache @@ -12,23 +21,16 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \ gosu \ ssh \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache \ + && /autoware/cleanup_apt.sh \ && mkdir -p ~/.ssh \ && ssh-keyscan github.com >> ~/.ssh/known_hosts -# 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 -RUN chmod +x /autoware/cleanup_system.sh -WORKDIR /autoware - # Set up base environment RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ ./setup-dev-env.sh -y --module base --no-nvidia --no-cuda-drivers --runtime openadkit \ && pip uninstall -y ansible ansible-core \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache \ + && /autoware/cleanup_apt.sh \ && echo "source /opt/ros/${ROS_DISTRO}/setup.bash" > /etc/bash.bashrc # Create entrypoint @@ -45,7 +47,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN --mount=type=ssh \ ./setup-dev-env.sh -y --module base --download-artifacts --no-cuda-drivers --runtime openadkit \ && pip uninstall -y ansible ansible-core \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache + && /autoware/cleanup_apt.sh true # hadolint ignore=DL3006 FROM $BASE_IMAGE AS rosdep-depend @@ -54,6 +56,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/cleanup_apt.sh /autoware/cleanup_apt.sh +RUN chmod +x /autoware/cleanup_apt.sh COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh RUN chmod +x /autoware/resolve_rosdep_keys.sh WORKDIR /autoware @@ -64,7 +68,7 @@ RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ ./setup-dev-env.sh -y rosdep \ && pip uninstall -y ansible ansible-core \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache + && /autoware/cleanup_apt.sh # Generate install package lists COPY src/core /autoware/src/core @@ -169,7 +173,7 @@ RUN --mount=type=ssh \ ./setup-dev-env.sh -y --module all --no-nvidia --no-cuda-drivers openadkit \ && ./setup-dev-env.sh -y --module dev-tools openadkit \ && pip uninstall -y ansible ansible-core \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache + && /autoware/cleanup_apt.sh # Install rosdep dependencies COPY --from=rosdep-depend /rosdep-core-depend-packages.txt /tmp/rosdep-core-depend-packages.txt @@ -177,7 +181,7 @@ COPY --from=rosdep-depend /rosdep-core-depend-packages.txt /tmp/rosdep-core-depe RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update \ && cat /tmp/rosdep-core-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache + && /autoware/cleanup_apt.sh RUN --mount=type=cache,target=${CCACHE_DIR} \ --mount=type=bind,from=rosdep-depend,source=/autoware/src/core,target=/autoware/src/core \ @@ -196,9 +200,10 @@ ENV CCACHE_DIR="/root/.ccache" COPY --from=rosdep-depend /rosdep-universe-common-depend-packages.txt /tmp/rosdep-universe-common-depend-packages.txt # hadolint ignore=SC2002 RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update \ && cat /tmp/rosdep-universe-common-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 + && /autoware/cleanup_apt.sh # hadolint ignore=SC1091 RUN --mount=type=cache,target=${CCACHE_DIR} \ @@ -219,7 +224,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN --mount=type=ssh \ ./setup-dev-env.sh -y --module all --no-cuda-drivers --runtime openadkit \ && pip uninstall -y ansible ansible-core \ - && apt-get autoremove -y && rm -rf "$HOME"/.cache + && /autoware/cleanup_apt.sh true ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] @@ -233,9 +238,10 @@ ENV CCACHE_DIR="/root/.ccache" COPY --from=rosdep-universe-sensing-perception-depend /rosdep-universe-sensing-perception-depend-packages.txt /tmp/rosdep-universe-sensing-perception-depend-packages.txt # hadolint ignore=SC2002 RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update \ && cat /tmp/rosdep-universe-sensing-perception-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 + && /autoware/cleanup_apt.sh # hadolint ignore=SC1091 RUN --mount=type=cache,target=${CCACHE_DIR} \ @@ -257,9 +263,10 @@ ENV CCACHE_DIR="/root/.ccache" COPY --from=rosdep-universe-sensing-perception-depend /rosdep-universe-sensing-perception-depend-packages.txt /tmp/rosdep-universe-sensing-perception-depend-packages.txt # hadolint ignore=SC2002 RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update \ && cat /tmp/rosdep-universe-sensing-perception-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 + && /autoware/cleanup_apt.sh # hadolint ignore=SC1091 RUN --mount=type=cache,target=${CCACHE_DIR} \ @@ -293,9 +300,10 @@ ENV CCACHE_DIR="/root/.ccache" COPY --from=rosdep-universe-localization-mapping-depend /rosdep-universe-localization-mapping-depend-packages.txt /tmp/rosdep-universe-localization-mapping-depend-packages.txt # hadolint ignore=SC2002 RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update \ && cat /tmp/rosdep-universe-localization-mapping-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 + && /autoware/cleanup_apt.sh # hadolint ignore=SC1091 RUN --mount=type=cache,target=${CCACHE_DIR} \ @@ -314,9 +322,10 @@ ENV CCACHE_DIR="/root/.ccache" COPY --from=rosdep-universe-planning-control-depend /rosdep-universe-planning-control-depend-packages.txt /tmp/rosdep-universe-planning-control-depend-packages.txt # hadolint ignore=SC2002 RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update \ && cat /tmp/rosdep-universe-planning-control-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 + && /autoware/cleanup_apt.sh # hadolint ignore=SC1091 RUN --mount=type=cache,target=${CCACHE_DIR} \ @@ -343,9 +352,10 @@ ENV CCACHE_DIR="/root/.ccache" COPY --from=rosdep-universe-vehicle-system-depend /rosdep-universe-vehicle-system-depend-packages.txt /tmp/rosdep-universe-vehicle-system-depend-packages.txt # hadolint ignore=SC2002 RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update \ && cat /tmp/rosdep-universe-vehicle-system-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 + && /autoware/cleanup_apt.sh # hadolint ignore=SC1091 RUN --mount=type=cache,target=${CCACHE_DIR} \ @@ -369,9 +379,10 @@ ENV CCACHE_DIR="/root/.ccache" COPY --from=rosdep-universe-depend /rosdep-universe-depend-packages.txt /tmp/rosdep-universe-depend-packages.txt # hadolint ignore=SC2002 RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update \ && 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 + && /autoware/cleanup_apt.sh COPY --from=universe-sensing-perception-devel /opt/autoware /opt/autoware COPY --from=universe-localization-mapping-devel /opt/autoware /opt/autoware @@ -402,9 +413,10 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] COPY --from=rosdep-universe-depend /rosdep-universe-depend-packages.txt /tmp/rosdep-universe-depend-packages.txt # hadolint ignore=SC2002 RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update \ && 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 + && /autoware/cleanup_apt.sh COPY --from=universe-sensing-perception-devel-cuda /opt/autoware /opt/autoware COPY --from=universe-devel /opt/autoware /opt/autoware diff --git a/docker/scripts/cleanup_apt.sh b/docker/scripts/cleanup_apt.sh new file mode 100755 index 00000000000..883df9ba8af --- /dev/null +++ b/docker/scripts/cleanup_apt.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +function cleanup() { + local remove_var_lib_apt_lists=false + apt-get autoremove -y && rm -rf "$HOME"/.cache + if "$remove_var_lib_apt_lists"; then + rm -rf /var/lib/apt/lists/* + fi +} + +cleanup "$@" From 0dd08838d0ebc154bf698ee1b8d157a456eb044f Mon Sep 17 00:00:00 2001 From: oguzkaganozt Date: Mon, 18 Nov 2024 16:49:04 +0300 Subject: [PATCH 19/75] fix(docker): add autoware prefix to map_loader (#5451) add autoware prefix to map_loader Signed-off-by: Oguz Ozturk --- docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 1bf5b246c4b..f6338b4a171 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -115,7 +115,7 @@ ARG ROS_DISTRO COPY src/universe/autoware.universe/control /autoware/src/universe/autoware.universe/control COPY src/universe/autoware.universe/planning /autoware/src/universe/autoware.universe/planning # TODO(youtalk): Remove COPYs when https://github.com/autowarefoundation/autoware.universe/issues/8805 is resolved -COPY src/universe/autoware.universe/map/map_loader /autoware/src/universe/autoware.universe/map/map_loader +COPY src/universe/autoware.universe/map/autoware_map_loader /autoware/src/universe/autoware.universe/map/autoware_map_loader 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 @@ -332,7 +332,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ --mount=type=bind,from=rosdep-universe-planning-control-depend,source=/autoware/src/universe/autoware.universe/control,target=/autoware/src/universe/autoware.universe/control \ --mount=type=bind,from=rosdep-universe-planning-control-depend,source=/autoware/src/universe/autoware.universe/planning,target=/autoware/src/universe/autoware.universe/planning \ # TODO(youtalk): Remove --mount options when https://github.com/autowarefoundation/autoware.universe/issues/8805 is resolved - --mount=type=bind,from=rosdep-universe-planning-control-depend,source=/autoware/src/universe/autoware.universe/map/map_loader,target=/autoware/src/universe/autoware.universe/map/map_loader \ + --mount=type=bind,from=rosdep-universe-planning-control-depend,source=/autoware/src/universe/autoware.universe/map/autoware_map_loader,target=/autoware/src/universe/autoware.universe/map/autoware_map_loader \ --mount=type=bind,from=rosdep-universe-planning-control-depend,source=/autoware/src/universe/autoware.universe/map/autoware_map_projection_loader,target=/autoware/src/universe/autoware.universe/map/autoware_map_projection_loader \ --mount=type=bind,from=rosdep-universe-planning-control-depend,source=/autoware/src/universe/autoware.universe/sensing/autoware_pcl_extensions,target=/autoware/src/universe/autoware.universe/sensing/autoware_pcl_extensions \ --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 \ From 39f266a55269e8cfa1ad7d04d8495bded13da48a Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 19 Nov 2024 11:56:12 +0900 Subject: [PATCH 20/75] fix(docker): install CUDA developement libraries into `-devel-cuda` images (#5446) * remove --runtime option Signed-off-by: Yutaka Kondo * add cleanup_aptget Signed-off-by: Yutaka Kondo * chmod +x Signed-off-by: Yutaka Kondo * use script Signed-off-by: Yutaka Kondo * style(pre-commit): autofix * install to rosdep stage Signed-off-by: Yutaka Kondo * fix spell check Signed-off-by: Yutaka Kondo * MUST REVERT Signed-off-by: Yutaka Kondo * change order Signed-off-by: Yutaka Kondo * Revert "MUST REVERT" This reverts commit 3fb57f620876b2a7f8f00a797370d52eaa25d1dd. --------- Signed-off-by: Yutaka Kondo Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- docker/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index f6338b4a171..8e9c9532a98 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -222,7 +222,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] # Set up CUDA development environment # hadolint ignore=SC2002 RUN --mount=type=ssh \ - ./setup-dev-env.sh -y --module all --no-cuda-drivers --runtime openadkit \ + ./setup-dev-env.sh -y --module all --no-cuda-drivers openadkit \ && pip uninstall -y ansible ansible-core \ && /autoware/cleanup_apt.sh true @@ -268,6 +268,8 @@ RUN --mount=type=ssh \ && cat /tmp/rosdep-universe-sensing-perception-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ && /autoware/cleanup_apt.sh +COPY --from=universe-sensing-perception-devel /opt/autoware /opt/autoware + # hadolint ignore=SC1091 RUN --mount=type=cache,target=${CCACHE_DIR} \ # TODO(youtalk): Move CUDA related packages into a dedicated directory @@ -286,8 +288,6 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \ && source /opt/autoware/setup.bash \ && /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware -COPY --from=universe-sensing-perception-devel /opt/autoware /opt/autoware - ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] From abb6b8d3061b5416f0b02ec41d57069aca289ef5 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 19 Nov 2024 21:05:57 +0900 Subject: [PATCH 21/75] feat: introduce `autoware-nightly.repos` (#5440) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add autoware-nightly.repos Signed-off-by: Yutaka Kondo * add health-check-nightly Signed-off-by: Yutaka Kondo * fix inputs Signed-off-by: Yutaka Kondo * rename Signed-off-by: Yutaka Kondo * change chache condition Signed-off-by: Yutaka Kondo * update .repos Signed-off-by: Yutaka Kondo * vcs import with multiple repos files Signed-off-by: Yutaka Kondo * fix conditions Signed-off-by: Yutaka Kondo * refine Signed-off-by: Yutaka Kondo * style(pre-commit): autofix * remove comment Signed-off-by: Yutaka Kondo * wip Signed-off-by: Yutaka Kondo * Revert "wip" This reverts commit 65e89d1e32a1f591204d5004b1dddd87af99950f. * wip Signed-off-by: Yutaka Kondo * Update action.yaml Co-authored-by: M. Fatih Cırıt --------- Signed-off-by: Yutaka Kondo Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: M. Fatih Cırıt --- .github/actions/docker-build/action.yaml | 18 +++++-- .github/workflows/health-check-nightly.yaml | 58 +++++++++++++++++++++ autoware-nightly.repos | 37 +++++++++++++ 3 files changed, 109 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/health-check-nightly.yaml create mode 100644 autoware-nightly.repos diff --git a/.github/actions/docker-build/action.yaml b/.github/actions/docker-build/action.yaml index 9a6a6e7e140..df338a836d0 100644 --- a/.github/actions/docker-build/action.yaml +++ b/.github/actions/docker-build/action.yaml @@ -8,6 +8,10 @@ inputs: cache-tag-suffix: description: Suffix of the target cache tag. required: true + additional-repos: + description: Additional target .repos file. + default: "" + required: false build-args: description: Additional build args. required: false @@ -31,9 +35,15 @@ runs: vcs import src < autoware.repos shell: bash + - name: Import additional repositories + if: ${{ inputs.additional-repos != '' }} + run: | + vcs import src < ${{ inputs.additional-repos }} + shell: bash + - name: Cache ccache uses: actions/cache@v4 - if: ${{ github.ref == 'refs/heads/main' }} + if: ${{ github.ref == 'refs/heads/main' && inputs.additional-repos == '' }} id: cache-ccache with: path: | @@ -44,7 +54,7 @@ runs: - name: Cache apt-get uses: actions/cache@v4 - if: ${{ github.ref == 'refs/heads/main' }} + if: ${{ github.ref == 'refs/heads/main' && inputs.additional-repos == '' }} id: cache-apt-get with: path: | @@ -55,7 +65,7 @@ runs: - name: Restore ccache uses: actions/cache/restore@v4 - if: ${{ github.ref != 'refs/heads/main' }} + if: ${{ github.ref != 'refs/heads/main' || inputs.additional-repos != '' }} with: path: | root-ccache @@ -65,7 +75,7 @@ runs: - name: Restore apt-get uses: actions/cache/restore@v4 - if: ${{ github.ref != 'refs/heads/main' }} + if: ${{ github.ref != 'refs/heads/main' || inputs.additional-repos != '' }} with: path: | var-cache-apt diff --git a/.github/workflows/health-check-nightly.yaml b/.github/workflows/health-check-nightly.yaml new file mode 100644 index 00000000000..f38836e5d1b --- /dev/null +++ b/.github/workflows/health-check-nightly.yaml @@ -0,0 +1,58 @@ +name: health-check-nightly + +on: + pull_request: + types: + - opened + - synchronize + - reopened + - labeled + schedule: + - cron: 0 6 * * * + workflow_dispatch: + +jobs: + label-check: + uses: autowarefoundation/autoware-github-actions/.github/workflows/make-sure-label-is-present.yaml@v1 + with: + label: tag:run-health-check + + load-env: + needs: label-check + if: ${{ needs.label-check.outputs.result == 'true' || + github.event_name == 'schedule' || + github.event_name == 'workflow_dispatch' }} + uses: ./.github/workflows/load-env.yaml + + docker-build-nightly: + needs: load-env + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set git config + uses: autowarefoundation/autoware-github-actions/set-git-config@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Free disk space + uses: ./.github/actions/free-disk-space + + - name: Build 'Autoware' + uses: ./.github/actions/docker-build + with: + platform: amd64 + cache-tag-suffix: nightly + additional-repos: autoware-nightly.repos + build-args: | + ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} + BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + LIB_DIR=x86_64 + + - name: Show disk space + if: always() + run: | + df -h diff --git a/autoware-nightly.repos b/autoware-nightly.repos new file mode 100644 index 00000000000..0b58999fd41 --- /dev/null +++ b/autoware-nightly.repos @@ -0,0 +1,37 @@ +repositories: + core/autoware.core: + type: git + url: https://github.com/autowarefoundation/autoware.core.git + version: main + universe/autoware.universe: + type: git + url: https://github.com/autowarefoundation/autoware.universe.git + version: main + launcher/autoware_launch: + type: git + url: https://github.com/autowarefoundation/autoware_launch.git + version: main + sensor_kit/sample_sensor_kit_launch: + type: git + url: https://github.com/autowarefoundation/sample_sensor_kit_launch.git + version: main + sensor_kit/external/awsim_sensor_kit_launch: # TODO: Integrate into sample_sensor_kit_launch + type: git + url: https://github.com/tier4/awsim_sensor_kit_launch.git + version: main + sensor_kit/awsim_labs_sensor_kit_launch: + type: git + url: https://github.com/autowarefoundation/awsim_labs_sensor_kit_launch.git + version: main + sensor_kit/single_lidar_sensor_kit_launch: + type: git + url: https://github.com/autowarefoundation/single_lidar_sensor_kit_launch.git + version: main + vehicle/sample_vehicle_launch: + 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 From 821f488ce93ec40d9e5560b85f9723421a6a4658 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Wed, 20 Nov 2024 22:32:07 +0900 Subject: [PATCH 22/75] refactor(docker): refine CUDA related packages build (#5458) * refine cuda related pkgs build Signed-off-by: Yutaka Kondo * fix '' Signed-off-by: Yutaka Kondo * fix option Signed-off-by: Yutaka Kondo * disable shellcheck Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo --- docker/Dockerfile | 16 +++------------- docker/scripts/build_and_clean.sh | 5 ++++- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 8e9c9532a98..2a9047076ca 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -272,21 +272,11 @@ COPY --from=universe-sensing-perception-devel /opt/autoware /opt/autoware # hadolint ignore=SC1091 RUN --mount=type=cache,target=${CCACHE_DIR} \ - # TODO(youtalk): Move CUDA related packages into a dedicated directory - --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_bytetrack,target=/autoware/src/universe/autoware.universe/perception/autoware_bytetrack \ - --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_lidar_apollo_instance_segmentation,target=/autoware/src/universe/autoware.universe/perception/autoware_lidar_apollo_instance_segmentation \ - --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_lidar_centerpoint,target=/autoware/src/universe/autoware.universe/perception/autoware_lidar_centerpoint \ - --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_lidar_transfusion,target=/autoware/src/universe/autoware.universe/perception/autoware_lidar_transfusion \ - --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_shape_estimation,target=/autoware/src/universe/autoware.universe/perception/autoware_shape_estimation \ - --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_classifier,target=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_classifier \ - --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_common,target=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_common \ - --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_yolox,target=/autoware/src/universe/autoware.universe/perception/autoware_tensorrt_yolox \ - --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_traffic_light_classifier,target=/autoware/src/universe/autoware.universe/perception/autoware_traffic_light_classifier \ - --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception/autoware_traffic_light_fine_detector,target=/autoware/src/universe/autoware.universe/perception/autoware_traffic_light_fine_detector \ - --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 \ + --mount=type=bind,from=rosdep-universe-sensing-perception-depend,source=/autoware/src/universe/autoware.universe/perception,target=/autoware/src/universe/autoware.universe/perception \ + --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 \ - && /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware + && /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware "--packages-above-and-dependencies autoware_tensorrt_common" ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] diff --git a/docker/scripts/build_and_clean.sh b/docker/scripts/build_and_clean.sh index 53c968ef722..e9d5ec6168f 100755 --- a/docker/scripts/build_and_clean.sh +++ b/docker/scripts/build_and_clean.sh @@ -3,14 +3,17 @@ function build_and_clean() { local ccache_dir=$1 local install_base=$2 + local colcon_build_args=$3 + # shellcheck disable=SC2086 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 && + --mixin release compile-commands ccache \ + $colcon_build_args && du -sh "$ccache_dir" && ccache -s && rm -rf /autoware/build /autoware/log } From 6a284d00c0db05cb9ee67a3cfd792d357b711c7b Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 21 Nov 2024 10:34:42 +0900 Subject: [PATCH 23/75] chore(autoware.repos): update TODO comment (#5463) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * remove todo Signed-off-by: Yutaka Kondo * Update autoware.repos Co-authored-by: M. Fatih Cırıt --------- Signed-off-by: Yutaka Kondo Co-authored-by: M. Fatih Cırıt --- autoware.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoware.repos b/autoware.repos index 66feaa178b2..2ad1eb7bbe1 100644 --- a/autoware.repos +++ b/autoware.repos @@ -38,7 +38,7 @@ repositories: type: git url: https://github.com/autowarefoundation/autoware.universe.git version: main - universe/external/tier4_ad_api_adaptor: # TODO(TIER IV): Migrate to AD API + universe/external/tier4_ad_api_adaptor: # TODO(TIER IV): Migrate to AD API and remove this repository entry. type: git url: https://github.com/tier4/tier4_ad_api_adaptor.git version: tier4/universe From 6ae172a9938af8ee0726e6d5e45b06a840aaface Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" <43976882+isamu-takagi@users.noreply.github.com> Date: Thu, 21 Nov 2024 13:59:12 +0900 Subject: [PATCH 24/75] feat(autoware.repos): change autoware_adapi_msgs version (#5459) Signed-off-by: Takagi, Isamu --- autoware.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoware.repos b/autoware.repos index 2ad1eb7bbe1..17d2e85d8b3 100644 --- a/autoware.repos +++ b/autoware.repos @@ -7,7 +7,7 @@ repositories: core/autoware_adapi_msgs: type: git url: https://github.com/autowarefoundation/autoware_adapi_msgs.git - version: 1.3.0 + version: beta/1.7.0 core/autoware_internal_msgs: type: git url: https://github.com/autowarefoundation/autoware_internal_msgs.git From 4a479b1a3959be71d7e8855bd2a616f218690f58 Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" <43976882+isamu-takagi@users.noreply.github.com> Date: Thu, 21 Nov 2024 15:38:18 +0900 Subject: [PATCH 25/75] feat: add autoware_adapi_msgs to nightly.repos (#5466) Signed-off-by: Takagi, Isamu --- autoware-nightly.repos | 4 ++++ autoware.repos | 1 + 2 files changed, 5 insertions(+) diff --git a/autoware-nightly.repos b/autoware-nightly.repos index 0b58999fd41..49da4fee814 100644 --- a/autoware-nightly.repos +++ b/autoware-nightly.repos @@ -1,4 +1,8 @@ repositories: + core/autoware_adapi_msgs: + type: git + url: https://github.com/autowarefoundation/autoware_adapi_msgs.git + version: main core/autoware.core: type: git url: https://github.com/autowarefoundation/autoware.core.git diff --git a/autoware.repos b/autoware.repos index 17d2e85d8b3..17ad277cf94 100644 --- a/autoware.repos +++ b/autoware.repos @@ -4,6 +4,7 @@ repositories: type: git url: https://github.com/autowarefoundation/autoware_msgs.git version: 1.2.0 + # TODO (isamu-takagi): Use a released version when autoware.universe uses a released version. core/autoware_adapi_msgs: type: git url: https://github.com/autowarefoundation/autoware_adapi_msgs.git From ef74e19c5a60027146e49e83341d5639038e048b Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 21 Nov 2024 16:59:46 +0900 Subject: [PATCH 26/75] fix(docker): fix `cleanup_apt.sh` (#5467) * echo Signed-off-by: Yutaka Kondo * fix Signed-off-by: Yutaka Kondo * remove echo Signed-off-by: Yutaka Kondo * style(pre-commit): autofix --------- Signed-off-by: Yutaka Kondo Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- docker/scripts/cleanup_apt.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/scripts/cleanup_apt.sh b/docker/scripts/cleanup_apt.sh index 883df9ba8af..0b0d43fea14 100755 --- a/docker/scripts/cleanup_apt.sh +++ b/docker/scripts/cleanup_apt.sh @@ -1,11 +1,11 @@ #!/bin/bash -function cleanup() { - local remove_var_lib_apt_lists=false +function cleanup_apt() { + local remove_var_lib_apt_lists=$1 apt-get autoremove -y && rm -rf "$HOME"/.cache - if "$remove_var_lib_apt_lists"; then + if [[ $remove_var_lib_apt_lists == true ]]; then rm -rf /var/lib/apt/lists/* fi } -cleanup "$@" +cleanup_apt "$@" From f3d27bf6fcaea810320ccf2297207ee7f76ffdd3 Mon Sep 17 00:00:00 2001 From: Ryuta Kambe Date: Thu, 21 Nov 2024 17:36:08 +0900 Subject: [PATCH 27/75] ci(clang-tidy): use minimum clang-tidy configuration for CI (#5465) Signed-off-by: veqcc --- .clang-tidy-ci | 480 +------------------------------------------------ 1 file changed, 3 insertions(+), 477 deletions(-) diff --git a/.clang-tidy-ci b/.clang-tidy-ci index c6dfcdb37c7..b5928f04733 100644 --- a/.clang-tidy-ci +++ b/.clang-tidy-ci @@ -1,483 +1,9 @@ Checks: " -*, - boost-use-to-string, - bugprone-argument-comment, - bugprone-assert-side-effect, - bugprone-bad-signal-to-kill-thread, - bugprone-bool-pointer-implicit-conversion, - bugprone-branch-clone, - bugprone-copy-constructor-init, - bugprone-dangling-handle, - bugprone-dynamic-static-initializers, - bugprone-exception-escape, - bugprone-fold-init-type, - bugprone-forward-declaration-namespace, - bugprone-forwarding-reference-overload, - bugprone-inaccurate-erase, - bugprone-incorrect-roundings, - bugprone-integer-division, - bugprone-lambda-function-name, - bugprone-macro-parentheses, - bugprone-macro-repeated-side-effects, - bugprone-misplaced-operator-in-strlen-in-alloc, - bugprone-misplaced-widening-cast, - bugprone-move-forwarding-reference, - bugprone-multiple-statement-macro, - bugprone-not-null-terminated-result, - bugprone-parent-virtual-call, - bugprone-posix-return, - bugprone-signed-char-misuse, - bugprone-sizeof-container, - bugprone-sizeof-expression, - bugprone-string-constructor, - bugprone-string-integer-assignment, - bugprone-string-literal-with-embedded-nul, - bugprone-suspicious-enum-usage, - bugprone-suspicious-memset-usage, - bugprone-suspicious-missing-comma, - bugprone-suspicious-semicolon, - bugprone-suspicious-string-compare, - bugprone-swapped-arguments, - bugprone-terminating-continue, - bugprone-throw-keyword-missing, - bugprone-too-small-loop-variable, - bugprone-unchecked-optional-access, - bugprone-undefined-memory-manipulation, - bugprone-undelegated-constructor, - bugprone-unhandled-self-assignment, - bugprone-unused-raii, - bugprone-unused-return-value, - bugprone-use-after-move, - bugprone-virtual-near-miss, - cppcoreguidelines-avoid-goto, - cppcoreguidelines-init-variables, - cppcoreguidelines-interfaces-global-init, - cppcoreguidelines-macro-usage, - cppcoreguidelines-narrowing-conversions, - cppcoreguidelines-no-malloc, - cppcoreguidelines-pro-bounds-pointer-arithmetic, - cppcoreguidelines-pro-type-const-cast, - cppcoreguidelines-pro-type-cstyle-cast, - cppcoreguidelines-pro-type-member-init, - cppcoreguidelines-pro-type-reinterpret-cast, - cppcoreguidelines-pro-type-static-cast-downcast, - cppcoreguidelines-pro-type-union-access, - cppcoreguidelines-slicing, - cppcoreguidelines-special-member-functions, - google-build-explicit-make-pair, - google-build-namespaces, - google-build-using-namespace, - google-explicit-constructor, - google-global-names-in-headers, - google-upgrade-googletest-case, - hicpp-exception-baseclass, - hicpp-multiway-paths-covered, - hicpp-no-assembler, - hicpp-signed-bitwise, - llvm-namespace-comment, - misc-definitions-in-headers, - misc-misplaced-const, - misc-new-delete-overloads, - misc-non-copyable-objects, - misc-redundant-expression, - misc-static-assert, - misc-throw-by-value-catch-by-reference, - misc-unconventional-assign-operator, - misc-uniqueptr-reset-release, - misc-unused-alias-decls, - misc-unused-parameters, - misc-unused-using-decls, - modernize-concat-nested-namespaces, - modernize-deprecated-headers, - modernize-deprecated-ios-base-aliases, - modernize-loop-convert, - modernize-make-shared, - modernize-make-unique, - modernize-pass-by-value, - modernize-raw-string-literal, - modernize-redundant-void-arg, - modernize-replace-auto-ptr, - modernize-replace-disallow-copy-and-assign-macro, - modernize-replace-random-shuffle, - modernize-return-braced-init-list, - modernize-shrink-to-fit, - modernize-unary-static-assert, - modernize-use-auto, - modernize-use-bool-literals, - modernize-use-default-member-init, - modernize-use-emplace, - modernize-use-equals-default, - modernize-use-equals-delete, - modernize-use-nodiscard, - modernize-use-noexcept, - modernize-use-nullptr, - modernize-use-override, - modernize-use-transparent-functors, - modernize-use-uncaught-exceptions, - modernize-use-using, - openmp-use-default-none, - performance-faster-string-find, - performance-for-range-copy, - performance-implicit-conversion-in-loop, - performance-inefficient-algorithm, - performance-inefficient-string-concatenation, - performance-inefficient-vector-operation, - performance-move-const-arg, - performance-move-constructor-init, - performance-no-automatic-move, - performance-no-int-to-ptr, - performance-noexcept-move-constructor, - performance-trivially-destructible, - performance-type-promotion-in-math-fn, - performance-unnecessary-copy-initialization, - performance-unnecessary-value-param, - portability-simd-intrinsics, - readability-const-return-type, - readability-container-size-empty, - readability-convert-member-functions-to-static, - readability-delete-null-pointer, - readability-else-after-return, - readability-function-cognitive-complexity, - readability-identifier-naming, - readability-inconsistent-declaration-parameter-name, - readability-isolate-declaration, - readability-make-member-function-const, - readability-misleading-indentation, - readability-misplaced-array-index, - readability-non-const-parameter, - readability-redundant-access-specifiers, - readability-redundant-control-flow, - readability-redundant-declaration, - readability-redundant-function-ptr-dereference, - readability-redundant-member-init, - readability-redundant-smartptr-get, - readability-redundant-string-cstr, - readability-redundant-string-init, - readability-simplify-boolean-expr, - readability-simplify-subscript-expr, - readability-static-accessed-through-instance, - readability-static-definition-in-anonymous-namespace, - readability-string-compare, - readability-uniqueptr-delete-release" + bugprone-dangling-handle" -WarningsAsErrors: " - // severity: HIGH - bugprone-dangling-handle, - bugprone-fold-init-type, - bugprone-inaccurate-erase, - // bugprone-incorrect-roundings, - // bugprone-misplaced-widening-cast, - bugprone-sizeof-container, - bugprone-sizeof-expression, - bugprone-string-constructor, - bugprone-suspicious-enum-usage, - bugprone-suspicious-memset-usage, - bugprone-suspicious-missing-comma, - bugprone-suspicious-semicolon, - bugprone-swapped-arguments, - bugprone-unchecked-optional-access, - // bugprone-unused-raii, - bugprone-use-after-move, - misc-non-copyable-objects, - misc-throw-by-value-catch-by-reference, - - // severity: MEDIUM - bugprone-assert-side-effect, - bugprone-bad-signal-to-kill-thread, - bugprone-copy-constructor-init, - bugprone-dynamic-static-initializers, - // bugprone-exception-escape, - // bugprone-integer-division, - // bugprone-macro-parentheses, - bugprone-macro-repeated-side-effects, - bugprone-misplaced-operator-in-strlen-in-alloc, - bugprone-move-forwarding-reference, - bugprone-multiple-statement-macro, - bugprone-not-null-terminated-result, - // bugprone-parent-virtual-call, - bugprone-posix-return, - // bugprone-signed-char-misuse, - bugprone-string-literal-with-embedded-nul, - bugprone-suspicious-string-compare, - bugprone-terminating-continue, - // bugprone-throw-keyword-missing, - bugprone-too-small-loop-variable, - bugprone-undefined-memory-manipulation, - bugprone-undelegated-constructor, - bugprone-unhandled-self-assignment, - bugprone-unused-return-value, - bugprone-virtual-near-miss, - // cppcoreguidelines-init-variables, - // cppcoreguidelines-narrowing-conversions, - google-build-explicit-make-pair, - google-build-namespaces, - // google-explicit-constructor, - misc-definitions-in-headers, - misc-new-delete-overloads, - misc-redundant-expression, - misc-unconventional-assign-operator, - misc-uniqueptr-reset-release, - performance-inefficient-algorithm, - // performance-move-const-arg, - performance-move-constructor-init, - performance-noexcept-move-constructor, - // readability-simplify-boolean-expr" - -HeaderFilterRegex: ^(?!\/usr)(?!\/opt) +WarningsAsErrors: "*" ExtraArgs: - -std=c++17 - -CheckOptions: - - key: bugprone-argument-comment.CommentBoolLiterals - value: "0" - - key: bugprone-argument-comment.CommentCharacterLiterals - value: "0" - - key: bugprone-argument-comment.CommentFloatLiterals - value: "0" - - key: bugprone-argument-comment.CommentIntegerLiterals - value: "0" - - key: bugprone-argument-comment.CommentNullPtrs - value: "0" - - key: bugprone-argument-comment.CommentStringLiterals - value: "0" - - key: bugprone-argument-comment.CommentUserDefinedLiterals - value: "0" - - key: bugprone-argument-comment.IgnoreSingleArgument - value: "0" - - key: bugprone-argument-comment.StrictMode - value: "0" - - key: bugprone-assert-side-effect.AssertMacros - value: assert - - key: bugprone-assert-side-effect.CheckFunctionCalls - value: "0" - - key: bugprone-dangling-handle.HandleClasses - value: std::basic_string_view;std::experimental::basic_string_view - - key: bugprone-dynamic-static-initializers.HeaderFileExtensions - value: ",h,hh,hpp,hxx" - - key: bugprone-exception-escape.FunctionsThatShouldNotThrow - value: "" - - key: bugprone-exception-escape.IgnoredExceptions - value: "" - - key: bugprone-misplaced-widening-cast.CheckImplicitCasts - value: "0" - - key: bugprone-not-null-terminated-result.WantToUseSafeFunctions - value: "1" - - key: bugprone-signed-char-misuse.CharTypdefsToIgnore - value: "" - - key: bugprone-sizeof-expression.WarnOnSizeOfCompareToConstant - value: "1" - - key: bugprone-sizeof-expression.WarnOnSizeOfConstant - value: "1" - - key: bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression - value: "0" - - key: bugprone-sizeof-expression.WarnOnSizeOfThis - value: "1" - - key: bugprone-string-constructor.LargeLengthThreshold - value: "8388608" - - key: bugprone-string-constructor.WarnOnLargeLength - value: "1" - - key: bugprone-suspicious-enum-usage.StrictMode - value: "0" - - key: bugprone-suspicious-missing-comma.MaxConcatenatedTokens - value: "5" - - key: bugprone-suspicious-missing-comma.RatioThreshold - value: "0.200000" - - key: bugprone-suspicious-missing-comma.SizeThreshold - value: "5" - - key: bugprone-suspicious-string-compare.StringCompareLikeFunctions - value: "" - - key: bugprone-suspicious-string-compare.WarnOnImplicitComparison - value: "1" - - key: bugprone-suspicious-string-compare.WarnOnLogicalNotComparison - value: "0" - - key: bugprone-too-small-loop-variable.MagnitudeBitsUpperLimit - value: "16" - - key: bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField - value: "1" - - key: bugprone-unused-return-value.CheckedFunctions - value: ::std::async;::std::launder;::std::remove;::std::remove_if;::std::unique;::std::unique_ptr::release;::std::basic_string::empty;::std::vector::empty - - key: cert-dcl16-c.NewSuffixes - value: L;LL;LU;LLU - - key: cert-oop54-cpp.WarnOnlyIfThisHasSuspiciousField - value: "0" - - key: cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors - value: "1" - - key: cppcoreguidelines-macro-usage.AllowedRegexp - value: ^DEBUG_* - - key: cppcoreguidelines-macro-usage.CheckCapsOnly - value: "0" - - key: cppcoreguidelines-macro-usage.IgnoreCommandLineMacros - value: "1" - - key: cppcoreguidelines-no-malloc.Allocations - value: ::malloc;::calloc - - key: cppcoreguidelines-no-malloc.Deallocations - value: ::free - - key: cppcoreguidelines-no-malloc.Reallocations - value: ::realloc - - key: cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic - value: "1" - - key: cppcoreguidelines-pro-type-member-init.IgnoreArrays - value: "0" - - key: cppcoreguidelines-pro-type-member-init.UseAssignment - value: "0" - - key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctions - value: "0" - - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor - value: "0" - - key: google-readability-braces-around-statements.ShortStatementLines - value: "1" - - key: google-readability-function-size.StatementThreshold - value: "800" - - key: google-readability-namespace-comments.ShortNamespaceLines - value: "10" - - key: google-readability-namespace-comments.SpacesBeforeComments - value: "2" - - key: hicpp-multiway-paths-covered.WarnOnMissingElse - value: "0" - - key: hicpp-signed-bitwise.IgnorePositiveIntegerLiterals - value: "0" - - key: misc-definitions-in-headers.HeaderFileExtensions - value: ",h,hh,hpp,hxx" - - key: misc-definitions-in-headers.UseHeaderFileExtension - value: "1" - - key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries - value: "1" - - key: misc-unused-parameters.StrictMode - value: "0" - - key: modernize-loop-convert.MaxCopySize - value: "16" - - key: modernize-loop-convert.MinConfidence - value: reasonable - - key: modernize-loop-convert.NamingStyle - value: CamelCase - - key: modernize-make-shared.IgnoreMacros - value: "1" - - key: modernize-make-shared.IncludeStyle - value: google - - key: modernize-make-shared.MakeSmartPtrFunction - value: std::make_shared - - key: modernize-make-shared.MakeSmartPtrFunctionHeader - value: memory - - key: modernize-make-unique.IgnoreMacros - value: "1" - - key: modernize-make-unique.IncludeStyle - value: google - - key: modernize-make-unique.MakeSmartPtrFunction - value: std::make_unique - - key: modernize-make-unique.MakeSmartPtrFunctionHeader - value: memory - - key: modernize-pass-by-value.IncludeStyle - value: google - - key: modernize-pass-by-value.ValuesOnly - value: "0" - - key: modernize-raw-string-literal.ReplaceShorterLiterals - value: "0" - - key: modernize-replace-auto-ptr.IncludeStyle - value: google - - key: modernize-replace-random-shuffle.IncludeStyle - value: google - - key: modernize-use-auto.MinTypeNameLength - value: "5" - - key: modernize-use-auto.RemoveStars - value: "0" - - key: modernize-use-default-member-init.IgnoreMacros - value: "1" - - key: modernize-use-default-member-init.UseAssignment - value: "0" - - key: modernize-use-emplace.ContainersWithPushBack - value: ::std::vector;::std::list;::std::deque - - key: modernize-use-emplace.SmartPointers - value: ::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr - - key: modernize-use-emplace.TupleMakeFunctions - value: ::std::make_pair;::std::make_tuple - - key: modernize-use-emplace.TupleTypes - value: ::std::pair;::std::tuple - - key: modernize-use-equals-default.IgnoreMacros - value: "1" - - key: modernize-use-equals-delete.IgnoreMacros - value: "1" - - key: modernize-use-nodiscard.ReplacementString - value: "[[nodiscard]]" - - key: modernize-use-noexcept.ReplacementString - value: "" - - key: modernize-use-noexcept.UseNoexceptFalse - value: "1" - - key: modernize-use-nullptr.NullMacros - value: "NULL" - - key: modernize-use-override.AllowOverrideAndFinal - value: "0" - - key: modernize-use-override.FinalSpelling - value: final - - key: modernize-use-override.IgnoreDestructors - value: "0" - - key: modernize-use-override.OverrideSpelling - value: override - - key: modernize-use-transparent-functors.SafeMode - value: "0" - - key: modernize-use-using.IgnoreMacros - value: "1" - - key: performance-faster-string-find.StringLikeClasses - value: std::basic_string - - key: performance-for-range-copy.AllowedTypes - value: "" - - key: performance-for-range-copy.WarnOnAllAutoCopies - value: "0" - - key: performance-inefficient-string-concatenation.StrictMode - value: "0" - - key: performance-inefficient-vector-operation.EnableProto - value: "0" - - key: performance-inefficient-vector-operation.VectorLikeClasses - value: ::std::vector - - key: performance-move-const-arg.CheckTriviallyCopyableMove - value: "1" - - key: performance-move-constructor-init.IncludeStyle - value: google - - key: performance-no-automatic-move.AllowedTypes - value: "" - - key: performance-type-promotion-in-math-fn.IncludeStyle - value: google - - key: performance-unnecessary-copy-initialization.AllowedTypes - value: "" - - key: performance-unnecessary-value-param.AllowedTypes - value: .*Ptr;.*SharedFuture - - key: performance-unnecessary-value-param.IncludeStyle - value: google - - key: portability-simd-intrinsics.Std - value: "" - - key: portability-simd-intrinsics.Suggest - value: "0" - - key: readability-function-cognitive-complexity.IgnoreMacros - value: "1" - - key: readability-else-after-return.WarnOnUnfixable - value: "1" - - key: readability-identifier-naming.NamespaceCase - value: lower_case - - key: readability-identifier-naming.ClassCase - value: CamelCase - - key: readability-identifier-naming.PrivateMemberSuffix - value: _ - - key: readability-identifier-naming.StructCase - value: CamelCase - - key: readability-identifier-naming.FunctionCase - value: lower_case - - key: readability-identifier-naming.VariableCase - value: lower_case - - key: readability-identifier-naming.GlobalConstantCase - value: lower_case - - key: readability-identifier-naming.GlobalConstantPrefix - value: g_ - - key: readability-identifier-naming.ConstexprVariableCase - value: lower_case - - key: readability-inconsistent-declaration-parameter-name.IgnoreMacros - value: "1" - - key: readability-inconsistent-declaration-parameter-name.Strict - value: "0" - - key: readability-redundant-smartptr-get.IgnoreMacros - value: "1" - - key: readability-redundant-string-init.StringNames - value: ::std::basic_string - - key: readability-simplify-subscript-expr.Types - value: ::std::basic_string;::std::basic_string_view;::std::vector;::std::array - - key: readability-static-accessed-through-instance.NameSpecifierNestingThreshold - value: "3" + - -Wno-c11-extensions From 497c9c4a0b276db3e6722efeca95ae0bb6a20c31 Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Thu, 21 Nov 2024 13:20:28 +0000 Subject: [PATCH 28/75] feat(autoware.repos): patch update autowarefoundation/autoware_lanelet2_extension to 0.6.2 (#5470) Signed-off-by: github-actions Co-authored-by: github-actions --- autoware.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoware.repos b/autoware.repos index 17ad277cf94..ede2fa655c6 100644 --- a/autoware.repos +++ b/autoware.repos @@ -29,7 +29,7 @@ repositories: core/autoware_lanelet2_extension: type: git url: https://github.com/autowarefoundation/autoware_lanelet2_extension.git - version: 0.6.1 + version: 0.6.2 core/autoware.core: type: git url: https://github.com/autowarefoundation/autoware.core.git From bf7552483e8ad0346e934dcd0624b302c9959e56 Mon Sep 17 00:00:00 2001 From: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Date: Fri, 22 Nov 2024 15:46:41 +0900 Subject: [PATCH 29/75] ci: use AWS CodeBuild to run docker-build-and-push-cuda (#5475) Signed-off-by: Ryohsuke Mitsudome --- .github/workflows/docker-build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index ad185aac5c5..a2a96872d12 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -63,7 +63,7 @@ jobs: docker-build-and-push-cuda: needs: [load-env, docker-build-and-push] - runs-on: ubuntu-22.04 + runs-on: codebuild-autoware-us-east-1-${{ github.run_id }}-${{ github.run_attempt }}-ubuntu-7.0-large steps: - name: Check out repository uses: actions/checkout@v4 From 413912769a3417e576b0f45b40dc9c57e29a2967 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Mon, 25 Nov 2024 14:34:37 +0900 Subject: [PATCH 30/75] feat(docker): introduce `autoware-base` images (#5476) * add base image workflow Signed-off-by: Yutaka Kondo * MUST REVERT Signed-off-by: Yutaka Kondo * rename Signed-off-by: Yutaka Kondo * rename Signed-off-by: Yutaka Kondo * fix with Signed-off-by: Yutaka Kondo * change run Signed-off-by: Yutaka Kondo * fix hcl Signed-off-by: Yutaka Kondo * add platform Signed-off-by: Yutaka Kondo * fix description Signed-off-by: Yutaka Kondo * remove checkout Signed-off-by: Yutaka Kondo * Revert "MUST REVERT" This reverts commit bb9f18a787535831d1bbe162774b2f3328311229. * set schedule Signed-off-by: Yutaka Kondo * style(pre-commit): autofix * use ubuntu-22.04 Signed-off-by: Yutaka Kondo * remove entrypoint Signed-off-by: Yutaka Kondo * remove entrypoint Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .../docker-build-and-push-base/action.yaml | 63 +++++++++++++++++++ .github/workflows/autoware-base.yaml | 29 +++++++++ docker/Dockerfile | 1 - docker/Dockerfile.base | 47 ++++++++++++++ docker/docker-bake-base.hcl | 22 +++++++ 5 files changed, 161 insertions(+), 1 deletion(-) create mode 100644 .github/actions/docker-build-and-push-base/action.yaml create mode 100644 .github/workflows/autoware-base.yaml create mode 100644 docker/Dockerfile.base create mode 100644 docker/docker-bake-base.hcl diff --git a/.github/actions/docker-build-and-push-base/action.yaml b/.github/actions/docker-build-and-push-base/action.yaml new file mode 100644 index 00000000000..8a5a779904a --- /dev/null +++ b/.github/actions/docker-build-and-push-base/action.yaml @@ -0,0 +1,63 @@ +name: docker-build-and-push-base +description: Composite action to build and push base images to registry. + +inputs: + target-image: + description: Target docker image name in the registry. + required: true + build-args: + description: Additional build args. + required: false + +runs: + using: composite + steps: + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Get current date + id: date + run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT + shell: bash + + - name: Docker meta for autoware-base:latest + id: meta-base + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} + tags: | + type=raw,value=${{ steps.date.outputs.date }} + bake-target: docker-metadata-action-base + flavor: | + latest=true + + - name: Docker meta for autoware-base:cuda-latest + id: meta-base-cuda + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} + tags: | + type=raw,value=cuda-latest + type=raw,value=cuda-${{ steps.date.outputs.date }} + bake-target: docker-metadata-action-base-cuda + flavor: | + latest=false + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ github.token }} + + - name: Build and Push to GitHub Container Registry + uses: docker/bake-action@v5 + with: + push: true + files: | + docker/docker-bake-base.hcl + ${{ steps.meta-base.outputs.bake-file }} + ${{ steps.meta-base-cuda.outputs.bake-file }} + provenance: false + set: | + ${{ inputs.build-args }} diff --git a/.github/workflows/autoware-base.yaml b/.github/workflows/autoware-base.yaml new file mode 100644 index 00000000000..c4ec32e1890 --- /dev/null +++ b/.github/workflows/autoware-base.yaml @@ -0,0 +1,29 @@ +name: autoware-base + +on: + schedule: + - cron: 0 0 15 * * # every 15th of the month + workflow_dispatch: + +jobs: + load-env: + uses: ./.github/workflows/load-env.yaml + + docker-build-and-push-base: + needs: load-env + runs-on: ubuntu-22.04 + steps: + - name: Check out this repository + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Build Autoware's base images + uses: ./.github/actions/docker-build-and-push-base + with: + target-image: autoware-base + build-args: | + *.platform=linux/amd64,linux/arm64 + *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} + *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} diff --git a/docker/Dockerfile b/docker/Dockerfile index 2a9047076ca..8a82503b6dd 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -36,7 +36,6 @@ RUN --mount=type=ssh \ # Create entrypoint COPY docker/etc/ros_entrypoint.sh /ros_entrypoint.sh RUN chmod +x /ros_entrypoint.sh -ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] FROM base AS base-cuda diff --git a/docker/Dockerfile.base b/docker/Dockerfile.base new file mode 100644 index 00000000000..dca6fb8a0fd --- /dev/null +++ b/docker/Dockerfile.base @@ -0,0 +1,47 @@ +ARG BASE_IMAGE + +# hadolint ignore=DL3006 +FROM $BASE_IMAGE AS base +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +ARG ROS_DISTRO + +# Copy files +COPY setup-dev-env.sh ansible-galaxy-requirements.yaml amd64.env arm64.env /autoware/ +COPY ansible/ /autoware/ansible/ +COPY docker/scripts/cleanup_apt.sh /autoware/cleanup_apt.sh +RUN chmod +x /autoware/cleanup_apt.sh +WORKDIR /autoware + +# Install apt packages and add GitHub to known hosts for private repositories +RUN rm -f /etc/apt/apt.conf.d/docker-clean \ + && echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' >/etc/apt/apt.conf.d/keep-cache +RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ + apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \ + gosu \ + ssh \ + && /autoware/cleanup_apt.sh \ + && mkdir -p ~/.ssh \ + && ssh-keyscan github.com >> ~/.ssh/known_hosts + +# Set up base environment +RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + ./setup-dev-env.sh -y --module base --no-nvidia --no-cuda-drivers --runtime openadkit \ + && pip uninstall -y ansible ansible-core \ + && /autoware/cleanup_apt.sh \ + && 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 +CMD ["/bin/bash"] + +FROM base AS base-cuda +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# Set up CUDA runtime environment and artifacts +# hadolint ignore=SC2002 +RUN --mount=type=ssh \ + ./setup-dev-env.sh -y --module base --download-artifacts --no-cuda-drivers --runtime openadkit \ + && pip uninstall -y ansible ansible-core \ + && /autoware/cleanup_apt.sh true diff --git a/docker/docker-bake-base.hcl b/docker/docker-bake-base.hcl new file mode 100644 index 00000000000..43cb7facc00 --- /dev/null +++ b/docker/docker-bake-base.hcl @@ -0,0 +1,22 @@ +group "default" { + targets = [ + "base", + "base-cuda" + ] +} + +// For docker/metadata-action +target "docker-metadata-action-base" {} +target "docker-metadata-action-base-cuda" {} + +target "base" { + inherits = ["docker-metadata-action-base"] + dockerfile = "docker/Dockerfile.base" + target = "base" +} + +target "base-cuda" { + inherits = ["docker-metadata-action-base-cuda"] + dockerfile = "docker/Dockerfile.base" + target = "base-cuda" +} From 0fd30c529b692529e5a7055cbd0bc1b2dd976dea Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Mon, 25 Nov 2024 14:35:03 +0900 Subject: [PATCH 31/75] fix(.github): add `--force` option to `vcs import` (#5478) add force option Signed-off-by: Yutaka Kondo --- .github/actions/docker-build/action.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build/action.yaml b/.github/actions/docker-build/action.yaml index df338a836d0..d5bda73b4f3 100644 --- a/.github/actions/docker-build/action.yaml +++ b/.github/actions/docker-build/action.yaml @@ -38,7 +38,7 @@ runs: - name: Import additional repositories if: ${{ inputs.additional-repos != '' }} run: | - vcs import src < ${{ inputs.additional-repos }} + vcs import --force src < ${{ inputs.additional-repos }} shell: bash - name: Cache ccache From c5c37e487e5e94c0d45b921be33e82b7ed8c2f06 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 26 Nov 2024 13:13:29 +0900 Subject: [PATCH 32/75] chore(.github): update changed files list to include `docker-build-and-push-cuda` files (#5472) update changed candidates Signed-off-by: Yutaka Kondo --- .github/workflows/docker-build-and-push-arm64.yaml | 4 ++-- .github/workflows/docker-build-and-push.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index e8eba9440fe..afdeabd76ea 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -38,7 +38,7 @@ jobs: files: | *.env *.repos - .github/actions/docker-build-and-push/action.yaml + .github/actions/docker-build-and-push*/action.yaml .github/workflows/docker-build-and-push*.yaml ansible-galaxy-requirements.yaml ansible/** @@ -88,7 +88,7 @@ jobs: files: | *.env *.repos - .github/actions/docker-build-and-push/action.yaml + .github/actions/docker-build-and-push*/action.yaml .github/workflows/docker-build-and-push*.yaml ansible-galaxy-requirements.yaml ansible/** diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index a2a96872d12..d36b24cf98e 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -33,7 +33,7 @@ jobs: files: | *.env *.repos - .github/actions/docker-build-and-push/action.yaml + .github/actions/docker-build-and-push*/action.yaml .github/workflows/docker-build-and-push*.yaml ansible-galaxy-requirements.yaml ansible/** @@ -83,7 +83,7 @@ jobs: files: | *.env *.repos - .github/actions/docker-build-and-push/action.yaml + .github/actions/docker-build-and-push*/action.yaml .github/workflows/docker-build-and-push*.yaml ansible-galaxy-requirements.yaml ansible/** From cab53fc7d9cb2ba543e85aead082bc920832ab54 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 26 Nov 2024 13:15:38 +0900 Subject: [PATCH 33/75] feat(docker): copy `cleanup_system.sh` to `autoware-base` images (#5482) copy cleanup_system.sh Signed-off-by: Yutaka Kondo --- docker/Dockerfile.base | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/Dockerfile.base b/docker/Dockerfile.base index dca6fb8a0fd..516870c7bb5 100644 --- a/docker/Dockerfile.base +++ b/docker/Dockerfile.base @@ -10,6 +10,8 @@ COPY setup-dev-env.sh ansible-galaxy-requirements.yaml amd64.env arm64.env /auto COPY ansible/ /autoware/ansible/ COPY docker/scripts/cleanup_apt.sh /autoware/cleanup_apt.sh RUN chmod +x /autoware/cleanup_apt.sh +COPY docker/scripts/cleanup_system.sh /autoware/cleanup_system.sh +RUN chmod +x /autoware/cleanup_system.sh WORKDIR /autoware # Install apt packages and add GitHub to known hosts for private repositories From 9266f10335beeb998b3293870d9f3d7fd64811a8 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 26 Nov 2024 13:16:04 +0900 Subject: [PATCH 34/75] feat(.github): separate `autoware-base` jobs (#5487) * copy cleanup_system.sh Signed-off-by: Yutaka Kondo * separate jobs Signed-off-by: Yutaka Kondo * free disk space Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo --- .github/workflows/autoware-base.yaml | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/.github/workflows/autoware-base.yaml b/.github/workflows/autoware-base.yaml index c4ec32e1890..e3d9720bcc4 100644 --- a/.github/workflows/autoware-base.yaml +++ b/.github/workflows/autoware-base.yaml @@ -9,13 +9,35 @@ jobs: load-env: uses: ./.github/workflows/load-env.yaml - docker-build-and-push-base: + autoware-base-amd64: needs: load-env runs-on: ubuntu-22.04 steps: - name: Check out this repository uses: actions/checkout@v4 + - name: Free disk space + uses: ./.github/actions/free-disk-space + + - name: Build Autoware's base images + uses: ./.github/actions/docker-build-and-push-base + with: + target-image: autoware-base + build-args: | + *.platform=linux/amd64 + *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} + *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + + autoware-base-arm64: + needs: [load-env, autoware-base-amd64] + runs-on: ubuntu-22.04 + steps: + - name: Check out this repository + uses: actions/checkout@v4 + + - name: Free disk space + uses: ./.github/actions/free-disk-space + - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -24,6 +46,6 @@ jobs: with: target-image: autoware-base build-args: | - *.platform=linux/amd64,linux/arm64 + *.platform=linux/arm64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} From 0e44b14187196ab0fd75a69bf0eee27b086d3b47 Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 15:38:58 +0900 Subject: [PATCH 35/75] feat(autoware.repos): minor update autowarefoundation/autoware_msgs to 1.3.0 (#5491) Signed-off-by: github-actions Co-authored-by: github-actions --- autoware.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoware.repos b/autoware.repos index ede2fa655c6..cbe72148e27 100644 --- a/autoware.repos +++ b/autoware.repos @@ -3,7 +3,7 @@ repositories: core/autoware_msgs: type: git url: https://github.com/autowarefoundation/autoware_msgs.git - version: 1.2.0 + version: 1.3.0 # TODO (isamu-takagi): Use a released version when autoware.universe uses a released version. core/autoware_adapi_msgs: type: git From 4148d655b4709b0e062a4f68fa01bb716d3b1112 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Wed, 27 Nov 2024 18:22:54 +0900 Subject: [PATCH 36/75] feat(docker): inherit `autoware-base` images (#5492) * change run Signed-off-by: Yutaka Kondo * use autoware-base images Signed-off-by: Yutaka Kondo * update health-check Signed-off-by: Yutaka Kondo * update load-env Signed-off-by: Yutaka Kondo * update load-env Signed-off-by: Yutaka Kondo * fix rebase Signed-off-by: Yutaka Kondo * add build-args Signed-off-by: Yutaka Kondo * fix hcl Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo --- .../docker-build-and-push-cuda/action.yaml | 13 ---- .../actions/docker-build-and-push/action.yaml | 13 ---- .../docker-build-and-push-arm64.yaml | 4 + .github/workflows/docker-build-and-push.yaml | 4 + .github/workflows/health-check-arm64.yaml | 2 + .github/workflows/health-check-nightly.yaml | 2 + .github/workflows/health-check.yaml | 2 + .github/workflows/load-env.yaml | 16 +++- amd64.env | 2 + docker/Dockerfile | 74 +++++-------------- docker/docker-bake-cuda.hcl | 8 -- docker/docker-bake.hcl | 8 -- 12 files changed, 46 insertions(+), 102 deletions(-) diff --git a/.github/actions/docker-build-and-push-cuda/action.yaml b/.github/actions/docker-build-and-push-cuda/action.yaml index fc28683d892..bf9d9ca0854 100644 --- a/.github/actions/docker-build-and-push-cuda/action.yaml +++ b/.github/actions/docker-build-and-push-cuda/action.yaml @@ -64,18 +64,6 @@ runs: run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT shell: bash - - name: Docker meta for autoware:base-cuda - id: meta-base-cuda - uses: docker/metadata-action@v5 - with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} - tags: | - type=raw,value=base-cuda-${{ inputs.platform }} - type=raw,value=base-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} - bake-target: docker-metadata-action-base-cuda - flavor: | - latest=false - - name: Docker meta for autoware:universe-sensing-perception-devel-cuda id: meta-universe-sensing-perception-devel-cuda uses: docker/metadata-action@v5 @@ -137,7 +125,6 @@ runs: push: true files: | docker/docker-bake-cuda.hcl - ${{ steps.meta-base-cuda.outputs.bake-file }} ${{ steps.meta-universe-sensing-perception-devel-cuda.outputs.bake-file }} ${{ steps.meta-universe-sensing-perception-cuda.outputs.bake-file }} ${{ steps.meta-universe-devel-cuda.outputs.bake-file }} diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index 3e3bc857fea..c028eede588 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -64,18 +64,6 @@ runs: run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT shell: bash - - name: Docker meta for autoware:base - id: meta-base - uses: docker/metadata-action@v5 - with: - images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} - tags: | - type=raw,value=base-${{ inputs.platform }} - type=raw,value=base-${{ steps.date.outputs.date }}-${{ inputs.platform }} - bake-target: docker-metadata-action-base - flavor: | - latest=false - - name: Docker meta for autoware:core-devel id: meta-core-devel uses: docker/metadata-action@v5 @@ -221,7 +209,6 @@ runs: push: true files: | 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 }} diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index afdeabd76ea..ee50b263616 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -56,6 +56,8 @@ jobs: *.platform=linux/arm64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} *.args.LIB_DIR=aarch64 *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }} *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main @@ -106,6 +108,8 @@ jobs: *.platform=linux/arm64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} *.args.LIB_DIR=aarch64 *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }} *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index d36b24cf98e..4fbcb666b0f 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -51,6 +51,8 @@ jobs: *.platform=linux/amd64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} *.args.LIB_DIR=x86_64 *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }} *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-main @@ -101,6 +103,8 @@ jobs: *.platform=linux/amd64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} *.args.LIB_DIR=x86_64 *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }} *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-main diff --git a/.github/workflows/health-check-arm64.yaml b/.github/workflows/health-check-arm64.yaml index d487e3c6ffd..9508abc3b1c 100644 --- a/.github/workflows/health-check-arm64.yaml +++ b/.github/workflows/health-check-arm64.yaml @@ -37,6 +37,8 @@ jobs: build-args: | ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} LIB_DIR=aarch64 - name: Show disk space diff --git a/.github/workflows/health-check-nightly.yaml b/.github/workflows/health-check-nightly.yaml index f38836e5d1b..d3e3ee74c7a 100644 --- a/.github/workflows/health-check-nightly.yaml +++ b/.github/workflows/health-check-nightly.yaml @@ -50,6 +50,8 @@ jobs: build-args: | ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} LIB_DIR=x86_64 - name: Show disk space diff --git a/.github/workflows/health-check.yaml b/.github/workflows/health-check.yaml index 55894881a4d..c51d8a320e4 100644 --- a/.github/workflows/health-check.yaml +++ b/.github/workflows/health-check.yaml @@ -49,6 +49,8 @@ jobs: build-args: | ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} LIB_DIR=x86_64 - name: Show disk space diff --git a/.github/workflows/load-env.yaml b/.github/workflows/load-env.yaml index ff7f24b6887..48af4b3a145 100644 --- a/.github/workflows/load-env.yaml +++ b/.github/workflows/load-env.yaml @@ -3,17 +3,23 @@ name: load-env on: workflow_call: outputs: - base_image: - value: ${{ jobs.load-env.outputs.base_image }} rosdistro: value: ${{ jobs.load-env.outputs.rosdistro }} + base_image: + value: ${{ jobs.load-env.outputs.base_image }} + autoware_base_image: + value: ${{ jobs.load-env.outputs.autoware_base_image }} + autoware_base_cuda_image: + value: ${{ jobs.load-env.outputs.autoware_base_cuda_image }} jobs: load-env: runs-on: ubuntu-22.04 outputs: - base_image: ${{ steps.set-env.outputs.base_image }} rosdistro: ${{ steps.set-env.outputs.rosdistro }} + base_image: ${{ steps.set-env.outputs.base_image }} + autoware_base_image: ${{ steps.set-env.outputs.autoware_base_image }} + autoware_base_cuda_image: ${{ steps.set-env.outputs.autoware_base_cuda_image }} steps: - name: Check out repository uses: actions/checkout@v4 @@ -28,5 +34,7 @@ jobs: - name: Set env id: set-env run: | - echo "base_image=${{ env.base_image }}" >> $GITHUB_OUTPUT echo "rosdistro=${{ env.rosdistro }}" >> $GITHUB_OUTPUT + echo "base_image=${{ env.base_image }}" >> $GITHUB_OUTPUT + echo "autoware_base_image=${{ env.autoware_base_image }}" >> $GITHUB_OUTPUT + echo "autoware_base_cuda_image=${{ env.autoware_base_cuda_image }}" >> $GITHUB_OUTPUT diff --git a/amd64.env b/amd64.env index 38eadee0a91..f1a068d50b7 100644 --- a/amd64.env +++ b/amd64.env @@ -1,6 +1,8 @@ rosdistro=humble rmw_implementation=rmw_cyclonedds_cpp base_image=ros:humble-ros-base-jammy +autoware_base_image=ghcr.io/autowarefoundation/autoware-base:latest +autoware_base_cuda_image=ghcr.io/autowarefoundation/autoware-base:cuda-latest cuda_version=12.3 cudnn_version=8.9.5.29-1+cuda12.2 tensorrt_version=8.6.1.6-1+cuda12.0 diff --git a/docker/Dockerfile b/docker/Dockerfile index 8a82503b6dd..d2ba84d017c 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,52 +1,6 @@ ARG BASE_IMAGE - -# hadolint ignore=DL3006 -FROM $BASE_IMAGE AS base -SHELL ["/bin/bash", "-o", "pipefail", "-c"] -ARG ROS_DISTRO - -# Copy files -COPY setup-dev-env.sh ansible-galaxy-requirements.yaml amd64.env arm64.env /autoware/ -COPY ansible/ /autoware/ansible/ -COPY docker/scripts/cleanup_apt.sh /autoware/cleanup_apt.sh -RUN chmod +x /autoware/cleanup_apt.sh -COPY docker/scripts/cleanup_system.sh /autoware/cleanup_system.sh -RUN chmod +x /autoware/cleanup_system.sh -WORKDIR /autoware - -# Install apt packages and add GitHub to known hosts for private repositories -RUN rm -f /etc/apt/apt.conf.d/docker-clean \ - && echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' >/etc/apt/apt.conf.d/keep-cache -RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ - apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \ - gosu \ - ssh \ - && /autoware/cleanup_apt.sh \ - && mkdir -p ~/.ssh \ - && ssh-keyscan github.com >> ~/.ssh/known_hosts - -# Set up base environment -RUN --mount=type=ssh \ - --mount=type=cache,target=/var/cache/apt,sharing=locked \ - ./setup-dev-env.sh -y --module base --no-nvidia --no-cuda-drivers --runtime openadkit \ - && pip uninstall -y ansible ansible-core \ - && /autoware/cleanup_apt.sh \ - && 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 -CMD ["/bin/bash"] - -FROM base AS base-cuda -SHELL ["/bin/bash", "-o", "pipefail", "-c"] - -# Set up CUDA runtime environment and artifacts -# hadolint ignore=SC2002 -RUN --mount=type=ssh \ - ./setup-dev-env.sh -y --module base --download-artifacts --no-cuda-drivers --runtime openadkit \ - && pip uninstall -y ansible ansible-core \ - && /autoware/cleanup_apt.sh true +ARG AUTOWARE_BASE_IMAGE +ARG AUTOWARE_BASE_CUDA_IMAGE # hadolint ignore=DL3006 FROM $BASE_IMAGE AS rosdep-depend @@ -158,7 +112,8 @@ RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-exec-depend-packages.txt \ && cat /rosdep-exec-depend-packages.txt -FROM base AS core-devel +# hadolint ignore=DL3006 +FROM $AUTOWARE_BASE_IMAGE AS core-devel SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ENV CCACHE_DIR="/root/.ccache" @@ -413,7 +368,8 @@ COPY --from=universe-devel /opt/autoware /opt/autoware ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM base AS universe-sensing-perception +# hadolint ignore=DL3006 +FROM $AUTOWARE_BASE_IMAGE AS universe-sensing-perception SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR @@ -438,7 +394,8 @@ RUN echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM base-cuda AS universe-sensing-perception-cuda +# hadolint ignore=DL3006 +FROM $AUTOWARE_BASE_CUDA_IMAGE AS universe-sensing-perception-cuda SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR @@ -459,7 +416,8 @@ COPY --from=universe-sensing-perception-devel-cuda /opt/autoware /opt/autoware ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM base AS universe-localization-mapping +# hadolint ignore=DL3006 +FROM $AUTOWARE_BASE_IMAGE AS universe-localization-mapping SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR @@ -484,7 +442,8 @@ RUN echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM base AS universe-planning-control +# hadolint ignore=DL3006 +FROM $AUTOWARE_BASE_IMAGE AS universe-planning-control SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR @@ -509,7 +468,8 @@ RUN echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM base AS universe-vehicle-system +# hadolint ignore=DL3006 +FROM $AUTOWARE_BASE_IMAGE AS universe-vehicle-system SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR @@ -534,7 +494,8 @@ RUN echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM base AS universe +# hadolint ignore=DL3006 +FROM $AUTOWARE_BASE_IMAGE AS universe SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR @@ -559,7 +520,8 @@ RUN echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["/bin/bash"] -FROM base-cuda AS universe-cuda +# hadolint ignore=DL3006 +FROM $AUTOWARE_BASE_CUDA_IMAGE AS universe-cuda SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR diff --git a/docker/docker-bake-cuda.hcl b/docker/docker-bake-cuda.hcl index 44ec1142178..87aa27df879 100644 --- a/docker/docker-bake-cuda.hcl +++ b/docker/docker-bake-cuda.hcl @@ -1,6 +1,5 @@ group "default" { targets = [ - "base-cuda", "universe-sensing-perception-devel-cuda", "universe-sensing-perception-cuda", "universe-devel-cuda", @@ -9,18 +8,11 @@ group "default" { } // For docker/metadata-action -target "docker-metadata-action-base-cuda" {} target "docker-metadata-action-universe-sensing-perception-devel-cuda" {} target "docker-metadata-action-universe-sensing-perception-cuda" {} target "docker-metadata-action-universe-devel-cuda" {} target "docker-metadata-action-universe-cuda" {} -target "base-cuda" { - inherits = ["docker-metadata-action-base-cuda"] - dockerfile = "docker/Dockerfile" - target = "base-cuda" -} - target "universe-sensing-perception-devel-cuda" { inherits = ["docker-metadata-action-universe-sensing-perception-devel-cuda"] dockerfile = "docker/Dockerfile" diff --git a/docker/docker-bake.hcl b/docker/docker-bake.hcl index 35d0f7fdbfc..dcf79ffc115 100644 --- a/docker/docker-bake.hcl +++ b/docker/docker-bake.hcl @@ -1,6 +1,5 @@ group "default" { targets = [ - "base", "core-devel", "universe-sensing-perception-devel", "universe-sensing-perception", @@ -16,7 +15,6 @@ group "default" { } // 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" {} @@ -29,12 +27,6 @@ target "docker-metadata-action-universe-vehicle-system" {} target "docker-metadata-action-universe-devel" {} target "docker-metadata-action-universe" {} -target "base" { - inherits = ["docker-metadata-action-base"] - dockerfile = "docker/Dockerfile" - target = "base" -} - target "core-devel" { inherits = ["docker-metadata-action-core-devel"] dockerfile = "docker/Dockerfile" From 45ceb15b8e9c80880a04b9d99c1b7b85800f87d7 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Wed, 27 Nov 2024 20:14:51 +0900 Subject: [PATCH 37/75] chore(autoware.repos): fix `autoware.universe` and `autoware_launch` versions to `0.39.0` (#5479) --- autoware.repos | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autoware.repos b/autoware.repos index cbe72148e27..c7e85183ed4 100644 --- a/autoware.repos +++ b/autoware.repos @@ -38,7 +38,7 @@ repositories: universe/autoware.universe: type: git url: https://github.com/autowarefoundation/autoware.universe.git - version: main + version: 0.39.0 universe/external/tier4_ad_api_adaptor: # TODO(TIER IV): Migrate to AD API and remove this repository entry. type: git url: https://github.com/tier4/tier4_ad_api_adaptor.git @@ -80,7 +80,7 @@ repositories: launcher/autoware_launch: type: git url: https://github.com/autowarefoundation/autoware_launch.git - version: main + version: 0.39.0 # sensor_component sensor_component/external/sensor_component_description: type: git From b2f5c079cf13ae6a95322a33639f1a6ebd331327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=2E=20Fatih=20C=C4=B1r=C4=B1t?= Date: Thu, 28 Nov 2024 02:45:57 +0300 Subject: [PATCH 38/75] ci: update the pr template and add comment-on-pr workflow (#5500) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: M. Fatih Cırıt --- .github/PULL_REQUEST_TEMPLATE.md | 8 --- .github/PULL_REQUEST_TEMPLATE/small-change.md | 44 ------------- .../PULL_REQUEST_TEMPLATE/standard-change.md | 63 ------------------- .github/pull_request_template.md | 23 +++++++ .github/workflows/comment-on-pr.yaml | 25 ++++++++ 5 files changed, 48 insertions(+), 115 deletions(-) delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/PULL_REQUEST_TEMPLATE/small-change.md delete mode 100644 .github/PULL_REQUEST_TEMPLATE/standard-change.md create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/comment-on-pr.yaml diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 97b0e954524..00000000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,8 +0,0 @@ -**Note**: Confirm the [contribution guidelines](https://autowarefoundation.github.io/autoware-documentation/main/contributing/) before submitting a pull request. - -Click the `Preview` tab and select a PR template: - -- [Standard change](?expand=1&template=standard-change.md) -- [Small change](?expand=1&template=small-change.md) - -**Do NOT send a PR with this description.** diff --git a/.github/PULL_REQUEST_TEMPLATE/small-change.md b/.github/PULL_REQUEST_TEMPLATE/small-change.md deleted file mode 100644 index e15fdd992d1..00000000000 --- a/.github/PULL_REQUEST_TEMPLATE/small-change.md +++ /dev/null @@ -1,44 +0,0 @@ -## Description - - - -## Tests performed - - - - -Not applicable. - -## Effects on system behavior - - - -Not applicable. - -## Interface changes - - - -## Pre-review checklist for the PR author - -The PR author **must** check the checkboxes below when creating the PR. - -- [ ] I've confirmed the [contribution guidelines]. -- [ ] The PR follows the [pull request guidelines]. - -## In-review checklist for the PR reviewers - -The PR reviewers **must** check the checkboxes below before approval. - -- [ ] The PR follows the [pull request guidelines]. - -## Post-review checklist for the PR author - -The PR author **must** check the checkboxes below before merging. - -- [ ] There are no open discussions or they are tracked via tickets. - -After all checkboxes are checked, anyone who has write access can merge the PR. - -[contribution guidelines]: https://autowarefoundation.github.io/autoware-documentation/main/contributing/ -[pull request guidelines]: https://autowarefoundation.github.io/autoware-documentation/main/contributing/pull-request-guidelines/ diff --git a/.github/PULL_REQUEST_TEMPLATE/standard-change.md b/.github/PULL_REQUEST_TEMPLATE/standard-change.md deleted file mode 100644 index 391af629751..00000000000 --- a/.github/PULL_REQUEST_TEMPLATE/standard-change.md +++ /dev/null @@ -1,63 +0,0 @@ -## Description - - - -## Related links - - - -## Tests performed - - - -## Notes for reviewers - - - -## Interface changes - - - -### ROS Topic Changes - - - - - - -### ROS Parameter Changes - - - - - -## Effects on system behavior - - - -## Pre-review checklist for the PR author - -The PR author **must** check the checkboxes below when creating the PR. - -- [ ] I've confirmed the [contribution guidelines]. -- [ ] The PR follows the [pull request guidelines]. - -## In-review checklist for the PR reviewers - -The PR reviewers **must** check the checkboxes below before approval. - -- [ ] The PR follows the [pull request guidelines]. -- [ ] The PR has been properly tested. -- [ ] The PR has been reviewed by the code owners. - -## Post-review checklist for the PR author - -The PR author **must** check the checkboxes below before merging. - -- [ ] There are no open discussions or they are tracked via tickets. -- [ ] The PR is ready for merge. - -After all checkboxes are checked, anyone who has write access can merge the PR. - -[contribution guidelines]: https://autowarefoundation.github.io/autoware-documentation/main/contributing/ -[pull request guidelines]: https://autowarefoundation.github.io/autoware-documentation/main/contributing/pull-request-guidelines/ diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000000..a391e265016 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,23 @@ +## Description + +## Related links + +**Parent Issue:** + +- Link + + + +## How was this PR tested? + +## Notes for reviewers + +None. + +## Effects on system behavior + +None. diff --git a/.github/workflows/comment-on-pr.yaml b/.github/workflows/comment-on-pr.yaml new file mode 100644 index 00000000000..c80141ddac6 --- /dev/null +++ b/.github/workflows/comment-on-pr.yaml @@ -0,0 +1,25 @@ +name: comment-on-pr +on: + pull_request_target: + +jobs: + comment-on-pr: + runs-on: ubuntu-22.04 + permissions: + pull-requests: write + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Initial PR comment + uses: marocchino/sticky-pull-request-comment@v2 + with: + message: | + Thank you for contributing to the Autoware project! + + 🚧 If your pull request is in progress, [switch it to draft mode](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#converting-a-pull-request-to-a-draft). + + Please ensure: + - You've checked our [contribution guidelines](https://autowarefoundation.github.io/autoware-documentation/main/contributing/). + - Your PR follows our [pull request guidelines](https://autowarefoundation.github.io/autoware-documentation/main/contributing/pull-request-guidelines/). + - All required CI checks pass before [marking the PR ready for review](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#marking-a-pull-request-as-ready-for-review). From fdfd0a914afde4cb685fc64c33403f0cd3bacece Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=2E=20Fatih=20C=C4=B1r=C4=B1t?= Date: Thu, 28 Nov 2024 13:45:49 +0300 Subject: [PATCH 39/75] ci(spell-check): switch the repository to autowarefoundation (#5501) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: M. Fatih Cırıt --- .github/workflows/spell-check-differential.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/spell-check-differential.yaml b/.github/workflows/spell-check-differential.yaml index f030a45251d..fdf819b035d 100644 --- a/.github/workflows/spell-check-differential.yaml +++ b/.github/workflows/spell-check-differential.yaml @@ -13,4 +13,4 @@ jobs: - name: Run spell-check uses: autowarefoundation/autoware-github-actions/spell-check@v1 with: - cspell-json-url: https://raw.githubusercontent.com/tier4/autoware-spell-check-dict/main/.cspell.json + cspell-json-url: https://raw.githubusercontent.com/autowarefoundation/autoware-spell-check-dict/main/.cspell.json From f88d9f8a6b69ecb82126433ed4f568d16cbf2c3a Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 14:09:23 +0300 Subject: [PATCH 40/75] ci(pre-commit-ansible): autoupdate (#5217) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions --- .pre-commit-config-ansible.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config-ansible.yaml b/.pre-commit-config-ansible.yaml index 4b8210eb003..161ab4efada 100644 --- a/.pre-commit-config-ansible.yaml +++ b/.pre-commit-config-ansible.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/ansible/ansible-lint.git - rev: v24.7.0 + rev: v24.10.0 hooks: - id: ansible-lint additional_dependencies: From 897faafbb11ff1f0f8a6e5bc4b1d1c5c39057661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=2E=20Fatih=20C=C4=B1r=C4=B1t?= Date: Thu, 28 Nov 2024 15:01:14 +0300 Subject: [PATCH 41/75] ci(spell-check-diff): add explicit dict-packages (#5503) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: M. Fatih Cırıt --- .github/workflows/spell-check-differential.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/spell-check-differential.yaml b/.github/workflows/spell-check-differential.yaml index fdf819b035d..90d59626723 100644 --- a/.github/workflows/spell-check-differential.yaml +++ b/.github/workflows/spell-check-differential.yaml @@ -14,3 +14,6 @@ jobs: uses: autowarefoundation/autoware-github-actions/spell-check@v1 with: cspell-json-url: https://raw.githubusercontent.com/autowarefoundation/autoware-spell-check-dict/main/.cspell.json + dict-packages: | + https://github.com/autowarefoundation/autoware-spell-check-dict + https://github.com/tier4/cspell-dicts From 24908996a5bae524bf9eff9c6f7fa24c5915301b Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 28 Nov 2024 21:31:35 +0900 Subject: [PATCH 42/75] refactor(docker): fix `Dockerfile` indent (#5495) fix indent Signed-off-by: Yutaka Kondo --- docker/Dockerfile | 48 +++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index d2ba84d017c..8857e43bc9e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -26,14 +26,14 @@ RUN --mount=type=ssh \ # Generate install package lists COPY src/core /autoware/src/core RUN rosdep update && /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ - > /rosdep-core-depend-packages.txt \ - && cat /rosdep-core-depend-packages.txt + > /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 /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ - > /rosdep-universe-common-depend-packages.txt \ - && cat /rosdep-universe-common-depend-packages.txt + > /rosdep-universe-common-depend-packages.txt \ + && cat /rosdep-universe-common-depend-packages.txt FROM rosdep-depend AS rosdep-universe-sensing-perception-depend SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -42,11 +42,11 @@ 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 /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ - > /rosdep-universe-sensing-perception-depend-packages.txt \ - && cat /rosdep-universe-sensing-perception-depend-packages.txt + > /rosdep-universe-sensing-perception-depend-packages.txt \ + && cat /rosdep-universe-sensing-perception-depend-packages.txt 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 + > /rosdep-universe-sensing-perception-exec-depend-packages.txt \ + && cat /rosdep-universe-sensing-perception-exec-depend-packages.txt FROM rosdep-depend AS rosdep-universe-localization-mapping-depend SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -55,11 +55,11 @@ 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 /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ - > /rosdep-universe-localization-mapping-depend-packages.txt \ - && cat /rosdep-universe-localization-mapping-depend-packages.txt + > /rosdep-universe-localization-mapping-depend-packages.txt \ + && cat /rosdep-universe-localization-mapping-depend-packages.txt 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 + > /rosdep-universe-localization-mapping-exec-depend-packages.txt \ + && cat /rosdep-universe-localization-mapping-exec-depend-packages.txt FROM rosdep-depend AS rosdep-universe-planning-control-depend SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -73,11 +73,11 @@ COPY src/universe/autoware.universe/map/autoware_map_projection_loader /autoware 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 /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ - > /rosdep-universe-planning-control-depend-packages.txt \ - && cat /rosdep-universe-planning-control-depend-packages.txt + > /rosdep-universe-planning-control-depend-packages.txt \ + && cat /rosdep-universe-planning-control-depend-packages.txt 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 + > /rosdep-universe-planning-control-exec-depend-packages.txt \ + && cat /rosdep-universe-planning-control-exec-depend-packages.txt FROM rosdep-depend AS rosdep-universe-vehicle-system-depend SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -88,11 +88,11 @@ COPY src/universe/autoware.universe/system /autoware/src/universe/autoware.unive 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 /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ - > /rosdep-universe-vehicle-system-depend-packages.txt \ - && cat /rosdep-universe-vehicle-system-depend-packages.txt + > /rosdep-universe-vehicle-system-depend-packages.txt \ + && cat /rosdep-universe-vehicle-system-depend-packages.txt 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 + > /rosdep-universe-vehicle-system-exec-depend-packages.txt \ + && cat /rosdep-universe-vehicle-system-exec-depend-packages.txt FROM rosdep-depend AS rosdep-universe-depend SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -105,12 +105,12 @@ COPY src/sensor_kit /autoware/src/sensor_kit COPY src/universe /autoware/src/universe COPY src/vehicle /autoware/src/vehicle RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ - > /rosdep-universe-depend-packages.txt \ - && cat /rosdep-universe-depend-packages.txt + > /rosdep-universe-depend-packages.txt \ + && cat /rosdep-universe-depend-packages.txt RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ - > /rosdep-exec-depend-packages.txt \ - && cat /rosdep-exec-depend-packages.txt + > /rosdep-exec-depend-packages.txt \ + && cat /rosdep-exec-depend-packages.txt # hadolint ignore=DL3006 FROM $AUTOWARE_BASE_IMAGE AS core-devel From 09049a513963926f9dab533a07f892ebac7161cc Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 28 Nov 2024 21:45:08 +0900 Subject: [PATCH 43/75] feat(docker): update cleanup scripts (#5497) * update cleanup scripts Signed-off-by: Yutaka Kondo * revert to ubuntu-22.04 Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo --- .github/workflows/docker-build-and-push.yaml | 2 +- docker/scripts/cleanup_apt.sh | 8 ++++---- docker/scripts/cleanup_system.sh | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index 4fbcb666b0f..292b4753b51 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -65,7 +65,7 @@ jobs: docker-build-and-push-cuda: needs: [load-env, docker-build-and-push] - runs-on: codebuild-autoware-us-east-1-${{ github.run_id }}-${{ github.run_attempt }}-ubuntu-7.0-large + runs-on: ubuntu-22.04 steps: - name: Check out repository uses: actions/checkout@v4 diff --git a/docker/scripts/cleanup_apt.sh b/docker/scripts/cleanup_apt.sh index 0b0d43fea14..ad03c1f39e3 100755 --- a/docker/scripts/cleanup_apt.sh +++ b/docker/scripts/cleanup_apt.sh @@ -1,10 +1,10 @@ #!/bin/bash function cleanup_apt() { - local remove_var_lib_apt_lists=$1 - apt-get autoremove -y && rm -rf "$HOME"/.cache - if [[ $remove_var_lib_apt_lists == true ]]; then - rm -rf /var/lib/apt/lists/* + local apt_clean=$1 + apt-get autoremove -y && rm -rf /var/lib/apt/lists/* "$HOME"/.cache + if [[ $apt_clean == true ]]; then + apt-get clean fi } diff --git a/docker/scripts/cleanup_system.sh b/docker/scripts/cleanup_system.sh index 1e8d911becc..0833be2b3a4 100755 --- a/docker/scripts/cleanup_system.sh +++ b/docker/scripts/cleanup_system.sh @@ -4,15 +4,15 @@ 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 /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 \ + /root/.local/pipx /opt/ros/"$ros_distro"/include /opt/autoware/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_apt.sh cleanup_system "$@" From 3054252d4f082165499c2cf2b61b81ecb5691c0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=2E=20Fatih=20C=C4=B1r=C4=B1t?= Date: Fri, 29 Nov 2024 05:34:00 +0300 Subject: [PATCH 44/75] ci(sync-files): make use of sync-files-templates repo (#5504) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: M. Fatih Cırıt --- .github/sync-files.yaml | 64 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/.github/sync-files.yaml b/.github/sync-files.yaml index e69de29bb2d..aa720753cbf 100644 --- a/.github/sync-files.yaml +++ b/.github/sync-files.yaml @@ -0,0 +1,64 @@ +- repository: autowarefoundation/sync-file-templates + files: + - source: sources/.github/ISSUE_TEMPLATE/bug.yaml + dest: .github/ISSUE_TEMPLATE/bug.yaml + - source: sources/.github/ISSUE_TEMPLATE/config.yml + dest: .github/ISSUE_TEMPLATE/config.yml + - source: sources/.github/ISSUE_TEMPLATE/task.yaml + dest: .github/ISSUE_TEMPLATE/task.yaml + - source: sources/.github/dependabot.yaml + dest: .github/dependabot.yaml + - source: sources/.github/pull_request_template.md + dest: .github/pull_request_template.md + - source: sources/.github/stale.yml + dest: .github/stale.yml + - source: sources/.github/workflows/cancel-previous-workflows.yaml + dest: .github/workflows/cancel-previous-workflows.yaml + - source: sources/.github/workflows/comment-on-pr.yaml + dest: .github/workflows/comment-on-pr.yaml + - source: sources/.github/workflows/github-release.yaml + dest: .github/workflows/github-release.yaml + - source: sources/.github/workflows/pre-commit-optional.yaml + dest: .github/workflows/pre-commit-optional.yaml + - source: sources/.github/workflows/pre-commit-optional-autoupdate.yaml + dest: .github/workflows/pre-commit-optional-autoupdate.yaml + - source: sources/.github/workflows/pre-commit-autoupdate.yaml + dest: .github/workflows/pre-commit-autoupdate.yaml + - source: sources/.github/workflows/semantic-pull-request.yaml + dest: .github/workflows/semantic-pull-request.yaml + - source: sources/.github/workflows/spell-check-differential.yaml + dest: .github/workflows/spell-check-differential.yaml + - source: sources/.github/workflows/spell-check-daily.yaml + dest: .github/workflows/spell-check-daily.yaml + - source: sources/.github/workflows/sync-files.yaml + dest: .github/workflows/sync-files.yaml + - source: sources/.clang-format + dest: .clang-format + - source: sources/.clang-tidy + dest: .clang-tidy + - source: sources/.markdown-link-check.json + dest: .markdown-link-check.json + - source: sources/.markdownlint.yaml + dest: .markdownlint.yaml + - source: sources/.pre-commit-config-optional.yaml + dest: .pre-commit-config-optional.yaml + - source: sources/.pre-commit-config.yaml + dest: .pre-commit-config.yaml + - source: sources/.prettierignore + dest: .prettierignore + - source: sources/.prettierrc.yaml + dest: .prettierrc.yaml + - source: sources/.yamllint.yaml + dest: .yamllint.yaml + - source: sources/CODE_OF_CONDUCT.md + dest: CODE_OF_CONDUCT.md + - source: sources/CONTRIBUTING.md + dest: CONTRIBUTING.md + - source: sources/CPPLINT.cfg + dest: CPPLINT.cfg + - source: sources/DISCLAIMER.md + dest: DISCLAIMER.md + - source: sources/LICENSE + dest: LICENSE + - source: sources/setup.cfg + dest: setup.cfg From e46be0edcb2b6c5079431a9bb900a8d387c0ae40 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Fri, 29 Nov 2024 16:05:57 +0900 Subject: [PATCH 45/75] ci: use AWS CodeBuild to run docker-build-and-push-cuda (#5475) (#5509) Signed-off-by: Ryohsuke Mitsudome Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> --- .github/workflows/docker-build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index 292b4753b51..4fbcb666b0f 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -65,7 +65,7 @@ jobs: docker-build-and-push-cuda: needs: [load-env, docker-build-and-push] - runs-on: ubuntu-22.04 + runs-on: codebuild-autoware-us-east-1-${{ github.run_id }}-${{ github.run_attempt }}-ubuntu-7.0-large steps: - name: Check out repository uses: actions/checkout@v4 From b8f9f30b6a15d5f8bfcc68c105afd37aa5dff0c0 Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Fri, 29 Nov 2024 14:17:46 +0300 Subject: [PATCH 46/75] chore: sync files (#5506) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: M. Fatih Cırıt --- .github/pull_request_template.md | 12 - .github/workflows/spell-check-daily.yaml | 23 + .pre-commit-config.yaml | 54 +- .../autoware-rviz-icons/active/downarrow.svg | 32 +- .../autoware-rviz-icons/active/uparrow.svg | 32 +- .../disabled/branch-end.svg | 42 +- .../disabled/branch-more.svg | 42 +- .../disabled/downarrow.svg | 32 +- .../disabled/leftarrow.svg | 32 +- .../disabled/radiobutton_checked.svg | 43 +- .../disabled/radiobutton_unchecked.svg | 37 +- .../disabled/rightarrow.svg | 32 +- .../autoware-rviz-icons/disabled/uparrow.svg | 32 +- .../autoware-rviz-icons/disabled/vline.svg | 40 +- .../files/autoware-rviz-icons/primary/add.svg | 4 +- .../primary/branch-closed.svg | 4 +- .../primary/branch-end.svg | 42 +- .../primary/branch-more.svg | 42 +- .../primary/branch-open.svg | 4 +- .../primary/checkbox_checked_disabled.svg | 6 +- .../primary/checkbox_checked_enabled.svg | 6 +- .../primary/checkbox_checked_hovered.svg | 6 +- .../primary/checkbox_checked_pressed.svg | 6 +- .../checkbox_indeterminate_disabled.svg | 6 +- .../checkbox_indeterminate_enabled.svg | 6 +- .../checkbox_indeterminate_hovered.svg | 6 +- .../checkbox_indeterminate_pressed.svg | 6 +- .../primary/checkbox_unchecked_disabled.svg | 6 +- .../primary/checkbox_unchecked_enabled.svg | 6 +- .../primary/checkbox_unchecked_hovered.svg | 6 +- .../primary/checkbox_unchecked_pressed.svg | 6 +- .../autoware-rviz-icons/primary/close.svg | 4 +- .../autoware-rviz-icons/primary/downarrow.svg | 32 +- .../autoware-rviz-icons/primary/float.svg | 58 +- .../autoware-rviz-icons/primary/leftarrow.svg | 32 +- .../autoware-rviz-icons/primary/minus.svg | 4 +- .../autoware-rviz-icons/primary/more.svg | 6 +- .../primary/radiobutton_checked.svg | 43 +- .../primary/radiobutton_checked_invert.svg | 43 +- .../primary/radiobutton_unchecked.svg | 37 +- .../primary/radiobutton_unchecked_invert.svg | 37 +- .../primary/rightarrow.svg | 32 +- .../autoware-rviz-icons/primary/sizegrip.svg | 52 +- .../autoware-rviz-icons/primary/slider.svg | 37 +- .../primary/splitter-horizontal.svg | 2 +- .../autoware-rviz-icons/primary/tab_close.svg | 34 +- .../primary/toolbar-handle-horizontal.svg | 56 +- .../primary/toolbar-handle-vertical.svg | 56 +- .../autoware-rviz-icons/primary/uparrow.svg | 32 +- docker/Dockerfile.svg | 1223 +++++++++-------- 50 files changed, 1403 insertions(+), 1070 deletions(-) create mode 100644 .github/workflows/spell-check-daily.yaml diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index a391e265016..4c4081a67e4 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,17 +1,5 @@ ## Description -## Related links - -**Parent Issue:** - -- Link - - - ## How was this PR tested? ## Notes for reviewers diff --git a/.github/workflows/spell-check-daily.yaml b/.github/workflows/spell-check-daily.yaml new file mode 100644 index 00000000000..f6a14d00d86 --- /dev/null +++ b/.github/workflows/spell-check-daily.yaml @@ -0,0 +1,23 @@ +name: spell-check-daily + +on: + schedule: + - cron: 0 0 * * * + workflow_dispatch: + +jobs: + spell-check-daily: + runs-on: ubuntu-22.04 + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Run spell-check + uses: autowarefoundation/autoware-github-actions/spell-check@v1 + with: + local-cspell-json: .cspell.json + incremental-files-only: false + cspell-json-url: https://raw.githubusercontent.com/tier4/autoware-spell-check-dict/main/.cspell.json + dict-packages: | + https://github.com/autowarefoundation/autoware-spell-check-dict + https://github.com/tier4/cspell-dicts diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e6c3aba177d..b99c5e1c20c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,6 +10,7 @@ repos: - id: check-toml - id: check-xml - id: check-yaml + args: [--unsafe] - id: detect-private-key - id: end-of-file-fixer - id: mixed-line-ending @@ -32,6 +33,16 @@ repos: hooks: - id: yamllint + - repo: https://github.com/tier4/pre-commit-hooks-ros + rev: v0.10.0 + hooks: + - id: flake8-ros + - id: prettier-xacro + - id: prettier-launch-xml + - id: prettier-package-xml + - id: ros-include-guard + - id: sort-package-xml + - repo: https://github.com/shellcheck-py/shellcheck-py rev: v0.10.0.1 hooks: @@ -43,9 +54,48 @@ repos: - id: shfmt args: [-w, -s, -i=4] + - repo: https://github.com/pycqa/isort + rev: 5.13.2 + hooks: + - id: isort + + - repo: https://github.com/psf/black + rev: 24.8.0 + hooks: + - id: black + args: [--line-length=100] + + - repo: https://github.com/pre-commit/mirrors-clang-format + rev: v18.1.8 + hooks: + - id: clang-format + types_or: [c++, c, cuda] + + - repo: https://github.com/cpplint/cpplint + rev: 1.6.1 + hooks: + - id: cpplint + args: [--quiet] + exclude: .cu + + - repo: https://github.com/python-jsonschema/check-jsonschema + rev: 0.29.2 + hooks: + - id: check-metaschema + files: ^.+/schema/.*schema\.json$ + + - repo: local + hooks: + - id: prettier-svg + name: prettier svg + description: Apply Prettier with plugin-xml to svg. + entry: prettier --write --list-different --ignore-unknown --print-width 200 --xml-self-closing-space false --xml-whitespace-sensitivity ignore + language: node + files: .svg$ + additional_dependencies: [prettier@2.7.1, "@prettier/plugin-xml@2.2.0"] + - repo: https://github.com/AleksaC/hadolint-py rev: v2.12.1b3 hooks: - id: hadolint - -exclude: .svg + exclude: .svg$ diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/active/downarrow.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/active/downarrow.svg index 22a70a5fbc9..eb6b3fa15e7 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/active/downarrow.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/active/downarrow.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/active/uparrow.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/active/uparrow.svg index b283329b32b..9df564b2f46 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/active/uparrow.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/active/uparrow.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/branch-end.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/branch-end.svg index decd600a806..3d57b5a8da4 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/branch-end.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/branch-end.svg @@ -1,24 +1,24 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/branch-more.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/branch-more.svg index 669c8ee6b77..e5aa4c609e4 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/branch-more.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/branch-more.svg @@ -1,24 +1,24 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/downarrow.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/downarrow.svg index 22a70a5fbc9..eb6b3fa15e7 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/downarrow.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/downarrow.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/leftarrow.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/leftarrow.svg index a1b5eb770c3..d0f92cb0cee 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/leftarrow.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/leftarrow.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/radiobutton_checked.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/radiobutton_checked.svg index 462030e6b75..253a3390f8b 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/radiobutton_checked.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/radiobutton_checked.svg @@ -1,22 +1,27 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/radiobutton_unchecked.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/radiobutton_unchecked.svg index 73e58ac050b..58f7a262cab 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/radiobutton_unchecked.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/radiobutton_unchecked.svg @@ -1,19 +1,24 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/rightarrow.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/rightarrow.svg index 31224808311..3c0f7d75cb7 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/rightarrow.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/rightarrow.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/uparrow.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/uparrow.svg index b283329b32b..9df564b2f46 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/uparrow.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/uparrow.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/vline.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/vline.svg index 67f84120ce2..5881dc0f7da 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/vline.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/disabled/vline.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/add.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/add.svg index c747fc89c49..71db35634be 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/add.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/add.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-closed.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-closed.svg index 43acdf27491..1ad9694e59c 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-closed.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-closed.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-end.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-end.svg index 87f7840f363..7c8f5274b22 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-end.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-end.svg @@ -1,24 +1,24 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-more.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-more.svg index 9f8af0ba8c3..ae87542b2da 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-more.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-more.svg @@ -1,24 +1,24 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-open.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-open.svg index d22353f4e9e..7faf29d632d 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-open.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/branch-open.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_disabled.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_disabled.svg index f737c436438..4d209ef8ffb 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_disabled.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_disabled.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_enabled.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_enabled.svg index d9eee3a1e08..19a52b880ee 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_enabled.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_enabled.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_hovered.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_hovered.svg index b49a8cf315b..cdbfa0da561 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_hovered.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_hovered.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_pressed.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_pressed.svg index 5d3bccb1941..5470a4c58cd 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_pressed.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_checked_pressed.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_disabled.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_disabled.svg index 8f9b9ae512c..31f5e4888aa 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_disabled.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_disabled.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_enabled.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_enabled.svg index 797fb421df9..aa801e4045a 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_enabled.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_enabled.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_hovered.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_hovered.svg index 43b20a76820..80a8df071f2 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_hovered.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_hovered.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_pressed.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_pressed.svg index a39172c056a..14b6fec7f85 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_pressed.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_indeterminate_pressed.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_disabled.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_disabled.svg index 873587b1985..8b3839bc244 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_disabled.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_disabled.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_enabled.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_enabled.svg index 265a55067f5..2992a9fdfac 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_enabled.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_enabled.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_hovered.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_hovered.svg index 27990330dc2..28745854522 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_hovered.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_hovered.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_pressed.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_pressed.svg index e9c0436eb7e..c7f3755b2d4 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_pressed.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/checkbox_unchecked_pressed.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/close.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/close.svg index fed396b0d88..9026603c977 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/close.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/close.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/downarrow.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/downarrow.svg index 8176e8f50b0..2481bf8acc0 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/downarrow.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/downarrow.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/float.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/float.svg index bb2383e4ec7..ba80019b97e 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/float.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/float.svg @@ -1,20 +1,44 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/leftarrow.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/leftarrow.svg index e595c0d652d..71678e2e693 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/leftarrow.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/leftarrow.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/minus.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/minus.svg index 7be3c893e40..7c87293e9b3 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/minus.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/minus.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/more.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/more.svg index c11e849e587..5ad31e749b1 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/more.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/more.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_checked.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_checked.svg index ea2d8183e3d..e5173e229fa 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_checked.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_checked.svg @@ -1,22 +1,27 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_checked_invert.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_checked_invert.svg index 92003b1b80c..61dd75ad404 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_checked_invert.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_checked_invert.svg @@ -1,22 +1,27 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_unchecked.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_unchecked.svg index ec6ee7a3213..8d9ce155419 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_unchecked.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_unchecked.svg @@ -1,19 +1,24 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_unchecked_invert.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_unchecked_invert.svg index 5defd965a50..22590a0bff1 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_unchecked_invert.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/radiobutton_unchecked_invert.svg @@ -1,19 +1,24 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/rightarrow.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/rightarrow.svg index 4845aa5975c..26bb041dc59 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/rightarrow.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/rightarrow.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/sizegrip.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/sizegrip.svg index 6a3d5ec4839..bbc7bd248c4 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/sizegrip.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/sizegrip.svg @@ -1,29 +1,29 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/slider.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/slider.svg index ecd7581285f..7caf04186da 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/slider.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/slider.svg @@ -1,19 +1,24 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/splitter-horizontal.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/splitter-horizontal.svg index 6be8cb04a16..cb95aa21dd8 100644 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/splitter-horizontal.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/splitter-horizontal.svg @@ -1,3 +1,3 @@ - \ No newline at end of file + diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/tab_close.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/tab_close.svg index 3c758445d0a..45aa5d57777 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/tab_close.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/tab_close.svg @@ -1,20 +1,20 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/toolbar-handle-horizontal.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/toolbar-handle-horizontal.svg index 0d639307250..8e7e03463e6 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/toolbar-handle-horizontal.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/toolbar-handle-horizontal.svg @@ -1,31 +1,31 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/toolbar-handle-vertical.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/toolbar-handle-vertical.svg index b6b267ead6f..a6c19f370d7 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/toolbar-handle-vertical.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/toolbar-handle-vertical.svg @@ -1,31 +1,31 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - diff --git a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/uparrow.svg b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/uparrow.svg index cab8eba2ab5..6eb3e13f7ad 100755 --- a/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/uparrow.svg +++ b/ansible/roles/qt5ct_setup/files/autoware-rviz-icons/primary/uparrow.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - diff --git a/docker/Dockerfile.svg b/docker/Dockerfile.svg index 7ad00076c97..a9465e1a552 100644 --- a/docker/Dockerfile.svg +++ b/docker/Dockerfile.svg @@ -1,541 +1,692 @@ - + - - -G - - -cluster_legend - - - - -key -FROM ...  -COPY --from=...  -RUN --mount=(.*)from=...  - - - -key2 -  -  -  - - - -key:e->key2:w - - - - - -key:e->key2:w - - - - - -key:e->key2:w - - - - - -external_image_0 - -$BASE_IMAGE - - - -stage_0 - -base - - - -external_image_0->stage_0 - - - - - -stage_2 - -rosdep-depend - - - -external_image_0->stage_2 - - - - - -stage_1 - -base-cuda - - - -stage_0->stage_1 - - - - - -stage_8 - -core-devel - - - -stage_0->stage_8 - - - - - -stage_18 - -universe-sensing-perception - - - -stage_0->stage_18 - - - - - - -stage_20 - -universe-localization-mapping - - - -stage_0->stage_20 - - - - -stage_21 - -universe-planning-control - - - -stage_0->stage_21 - - - - - -stage_22 - -universe-vehicle-system - - - -stage_0->stage_22 - - - - - -stage_23 - -universe - - - -stage_0->stage_23 - - - - - - -stage_2->stage_8 - - - - - -stage_3 - -rosdep-universe-sensing-perception-depend - - - -stage_2->stage_3 - - - - - -stage_4 - -rosdep-universe-localization-mapping-depend - - - -stage_2->stage_4 - - - - - -stage_5 - -rosdep-universe-planning-control-depend - - - -stage_2->stage_5 - - - - - -stage_6 - -rosdep-universe-vehicle-system-depend - - - -stage_2->stage_6 - - - - - -stage_7 - -rosdep-universe-depend - - - -stage_2->stage_7 - - - - - - -stage_9 - -universe-common-devel - - - -stage_2->stage_9 - - - - - -stage_19 - -universe-sensing-perception-cuda - - - -stage_1->stage_19 - - - - - -stage_24 - -universe-cuda - - - -stage_1->stage_24 - - - - - -stage_8->stage_9 - - - - - -stage_3->stage_18 - - - - - -stage_3->stage_19 - - - - - -stage_11 - -universe-sensing-perception-devel - - - -stage_3->stage_11 - - - - - -stage_12 - -universe-sensing-perception-devel-cuda - - - -stage_3->stage_12 - - - - - - -stage_4->stage_20 - - - - - - -stage_13 - -universe-localization-mapping-devel - - - -stage_4->stage_13 - - - - - -stage_5->stage_21 - - - - - -stage_14 - -universe-planning-control-devel - - - -stage_5->stage_14 - - - - - -stage_6->stage_22 - - - - - - -stage_15 - -universe-vehicle-system-devel - - - -stage_6->stage_15 - - - - - -stage_7->stage_23 - - - - - -stage_7->stage_24 - - - - - - -stage_16 - -universe-devel - - - -stage_7->stage_16 - - - - - -stage_17 - -universe-devel-cuda - - - -stage_7->stage_17 - - - - - -stage_9->stage_11 - - - - - -stage_9->stage_13 - - - - - -stage_9->stage_14 - - - - - -stage_9->stage_15 - - - - - -stage_9->stage_16 - - - - - -stage_10 - -universe-common-devel-cuda - - - -stage_9->stage_10 - - - - - -stage_11->stage_18 - - - - - -stage_11->stage_12 - - - - - -stage_11->stage_16 - - - - - -stage_12->stage_19 - - - - - -stage_12->stage_17 - - - - - -stage_13->stage_20 - - - - - -stage_13->stage_16 - - - - - -stage_14->stage_21 - - - - - -stage_14->stage_16 - - - - - -stage_15->stage_22 - - - - - -stage_15->stage_16 - - - - - -stage_16->stage_23 - - - - - -stage_16->stage_17 - - - - - -stage_17->stage_24 - - - - - -stage_10->stage_12 - - - - - -stage_10->stage_17 - - - - + + + G + + + cluster_legend + + + + + key + FROM ... + COPY --from=...  + RUN --mount=(.*)from=...  + + + + key2 + + + + + + + key:e->key2:w + + + + + + key:e->key2:w + + + + + + key:e->key2:w + + + + + + external_image_0 + + $BASE_IMAGE + + + + stage_0 + + base + + + + external_image_0->stage_0 + + + + + + stage_2 + + rosdep-depend + + + + external_image_0->stage_2 + + + + + + stage_1 + + base-cuda + + + + stage_0->stage_1 + + + + + + stage_8 + + core-devel + + + + stage_0->stage_8 + + + + + + stage_18 + + universe-sensing-perception + + + + stage_0->stage_18 + + + + + + + stage_20 + + universe-localization-mapping + + + + stage_0->stage_20 + + + + + stage_21 + + universe-planning-control + + + + stage_0->stage_21 + + + + + + stage_22 + + universe-vehicle-system + + + + stage_0->stage_22 + + + + + + stage_23 + + universe + + + + stage_0->stage_23 + + + + + + + stage_2->stage_8 + + + + + + stage_3 + + rosdep-universe-sensing-perception-depend + + + + stage_2->stage_3 + + + + + + stage_4 + + rosdep-universe-localization-mapping-depend + + + + stage_2->stage_4 + + + + + + stage_5 + + rosdep-universe-planning-control-depend + + + + stage_2->stage_5 + + + + + + stage_6 + + rosdep-universe-vehicle-system-depend + + + + stage_2->stage_6 + + + + + + stage_7 + + rosdep-universe-depend + + + + stage_2->stage_7 + + + + + + + stage_9 + + universe-common-devel + + + + stage_2->stage_9 + + + + + + stage_19 + + universe-sensing-perception-cuda + + + + stage_1->stage_19 + + + + + + stage_24 + + universe-cuda + + + + stage_1->stage_24 + + + + + + stage_8->stage_9 + + + + + + stage_3->stage_18 + + + + + + stage_3->stage_19 + + + + + + stage_11 + + universe-sensing-perception-devel + + + + stage_3->stage_11 + + + + + + stage_12 + + universe-sensing-perception-devel-cuda + + + + stage_3->stage_12 + + + + + + + stage_4->stage_20 + + + + + + + stage_13 + + universe-localization-mapping-devel + + + + stage_4->stage_13 + + + + + + stage_5->stage_21 + + + + + + stage_14 + + universe-planning-control-devel + + + + stage_5->stage_14 + + + + + + stage_6->stage_22 + + + + + + + stage_15 + + universe-vehicle-system-devel + + + + stage_6->stage_15 + + + + + + stage_7->stage_23 + + + + + + stage_7->stage_24 + + + + + + + stage_16 + + universe-devel + + + + stage_7->stage_16 + + + + + + stage_17 + + universe-devel-cuda + + + + stage_7->stage_17 + + + + + + stage_9->stage_11 + + + + + + stage_9->stage_13 + + + + + + stage_9->stage_14 + + + + + + stage_9->stage_15 + + + + + + stage_9->stage_16 + + + + + + stage_10 + + universe-common-devel-cuda + + + + stage_9->stage_10 + + + + + + stage_11->stage_18 + + + + + + stage_11->stage_12 + + + + + + stage_11->stage_16 + + + + + + stage_12->stage_19 + + + + + + stage_12->stage_17 + + + + + + stage_13->stage_20 + + + + + + stage_13->stage_16 + + + + + + stage_14->stage_21 + + + + + + stage_14->stage_16 + + + + + + stage_15->stage_22 + + + + + + stage_15->stage_16 + + + + + + stage_16->stage_23 + + + + + + stage_16->stage_17 + + + + + + stage_17->stage_24 + + + + + + stage_10->stage_12 + + + + + + stage_10->stage_17 + + + + From b57b7ea5207652f85a49c0a95ba1516a9bfd06b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=2E=20Fatih=20C=C4=B1r=C4=B1t?= Date: Fri, 29 Nov 2024 14:45:46 +0300 Subject: [PATCH 47/75] ci(sync-files): simplify by utilizing source-dir param (#5511) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: M. Fatih Cırıt --- .github/sync-files.yaml | 94 ++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 62 deletions(-) diff --git a/.github/sync-files.yaml b/.github/sync-files.yaml index aa720753cbf..e8d63cde667 100644 --- a/.github/sync-files.yaml +++ b/.github/sync-files.yaml @@ -1,64 +1,34 @@ - repository: autowarefoundation/sync-file-templates + source-dir: sources files: - - source: sources/.github/ISSUE_TEMPLATE/bug.yaml - dest: .github/ISSUE_TEMPLATE/bug.yaml - - source: sources/.github/ISSUE_TEMPLATE/config.yml - dest: .github/ISSUE_TEMPLATE/config.yml - - source: sources/.github/ISSUE_TEMPLATE/task.yaml - dest: .github/ISSUE_TEMPLATE/task.yaml - - source: sources/.github/dependabot.yaml - dest: .github/dependabot.yaml - - source: sources/.github/pull_request_template.md - dest: .github/pull_request_template.md - - source: sources/.github/stale.yml - dest: .github/stale.yml - - source: sources/.github/workflows/cancel-previous-workflows.yaml - dest: .github/workflows/cancel-previous-workflows.yaml - - source: sources/.github/workflows/comment-on-pr.yaml - dest: .github/workflows/comment-on-pr.yaml - - source: sources/.github/workflows/github-release.yaml - dest: .github/workflows/github-release.yaml - - source: sources/.github/workflows/pre-commit-optional.yaml - dest: .github/workflows/pre-commit-optional.yaml - - source: sources/.github/workflows/pre-commit-optional-autoupdate.yaml - dest: .github/workflows/pre-commit-optional-autoupdate.yaml - - source: sources/.github/workflows/pre-commit-autoupdate.yaml - dest: .github/workflows/pre-commit-autoupdate.yaml - - source: sources/.github/workflows/semantic-pull-request.yaml - dest: .github/workflows/semantic-pull-request.yaml - - source: sources/.github/workflows/spell-check-differential.yaml - dest: .github/workflows/spell-check-differential.yaml - - source: sources/.github/workflows/spell-check-daily.yaml - dest: .github/workflows/spell-check-daily.yaml - - source: sources/.github/workflows/sync-files.yaml - dest: .github/workflows/sync-files.yaml - - source: sources/.clang-format - dest: .clang-format - - source: sources/.clang-tidy - dest: .clang-tidy - - source: sources/.markdown-link-check.json - dest: .markdown-link-check.json - - source: sources/.markdownlint.yaml - dest: .markdownlint.yaml - - source: sources/.pre-commit-config-optional.yaml - dest: .pre-commit-config-optional.yaml - - source: sources/.pre-commit-config.yaml - dest: .pre-commit-config.yaml - - source: sources/.prettierignore - dest: .prettierignore - - source: sources/.prettierrc.yaml - dest: .prettierrc.yaml - - source: sources/.yamllint.yaml - dest: .yamllint.yaml - - source: sources/CODE_OF_CONDUCT.md - dest: CODE_OF_CONDUCT.md - - source: sources/CONTRIBUTING.md - dest: CONTRIBUTING.md - - source: sources/CPPLINT.cfg - dest: CPPLINT.cfg - - source: sources/DISCLAIMER.md - dest: DISCLAIMER.md - - source: sources/LICENSE - dest: LICENSE - - source: sources/setup.cfg - dest: setup.cfg + - source: .github/ISSUE_TEMPLATE/bug.yaml + - source: .github/ISSUE_TEMPLATE/config.yml + - source: .github/ISSUE_TEMPLATE/task.yaml + - source: .github/dependabot.yaml + - source: .github/pull_request_template.md + - source: .github/stale.yml + - source: .github/workflows/cancel-previous-workflows.yaml + - source: .github/workflows/comment-on-pr.yaml + - source: .github/workflows/github-release.yaml + - source: .github/workflows/pre-commit-optional.yaml + - source: .github/workflows/pre-commit-optional-autoupdate.yaml + - source: .github/workflows/pre-commit-autoupdate.yaml + - source: .github/workflows/semantic-pull-request.yaml + - source: .github/workflows/spell-check-differential.yaml + - source: .github/workflows/spell-check-daily.yaml + - source: .github/workflows/sync-files.yaml + - source: .clang-format + - source: .clang-tidy + - source: .markdown-link-check.json + - source: .markdownlint.yaml + - source: .pre-commit-config-optional.yaml + - source: .pre-commit-config.yaml + - source: .prettierignore + - source: .prettierrc.yaml + - source: .yamllint.yaml + - source: CODE_OF_CONDUCT.md + - source: CONTRIBUTING.md + - source: CPPLINT.cfg + - source: DISCLAIMER.md + - source: LICENSE + - source: setup.cfg From 5bdf3d496bb4f7a6587d8c5635435572d727a244 Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Fri, 29 Nov 2024 15:27:13 +0000 Subject: [PATCH 48/75] chore: sync files (#5513) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions --- .clang-format | 4 ++++ .clang-tidy | 4 ++++ .github/ISSUE_TEMPLATE/bug.yaml | 4 ++++ .github/ISSUE_TEMPLATE/config.yml | 4 ++++ .github/ISSUE_TEMPLATE/task.yaml | 4 ++++ .github/dependabot.yaml | 4 ++++ .github/stale.yml | 4 ++++ .github/workflows/cancel-previous-workflows.yaml | 4 ++++ .github/workflows/comment-on-pr.yaml | 4 ++++ .github/workflows/github-release.yaml | 4 ++++ .github/workflows/pre-commit-autoupdate.yaml | 4 ++++ .github/workflows/pre-commit-optional-autoupdate.yaml | 4 ++++ .github/workflows/pre-commit-optional.yaml | 4 ++++ .github/workflows/semantic-pull-request.yaml | 4 ++++ .github/workflows/spell-check-daily.yaml | 5 ++++- .github/workflows/spell-check-differential.yaml | 4 ++++ .github/workflows/sync-files.yaml | 4 ++++ .markdownlint.yaml | 4 ++++ .pre-commit-config-optional.yaml | 4 ++++ .pre-commit-config.yaml | 4 ++++ .prettierignore | 4 ++++ .prettierrc.yaml | 4 ++++ .yamllint.yaml | 4 ++++ CPPLINT.cfg | 4 ++++ setup.cfg | 4 ++++ 25 files changed, 100 insertions(+), 1 deletion(-) diff --git a/.clang-format b/.clang-format index b41fae9129e..cd54eb45dde 100644 --- a/.clang-format +++ b/.clang-format @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + # Modified from https://github.com/ament/ament_lint/blob/master/ament_clang_format/ament_clang_format/configuration/.clang-format Language: Cpp BasedOnStyle: Google diff --git a/.clang-tidy b/.clang-tidy index f5eccdf3cc7..de12fb605c8 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + Checks: " -*, boost-use-to-string, diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index 12a857998a0..5c74f7c5e4d 100644 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: Bug description: Report a bug body: diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 48765c24a7b..deccbf336f6 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + blank_issues_enabled: false contact_links: - name: Question diff --git a/.github/ISSUE_TEMPLATE/task.yaml b/.github/ISSUE_TEMPLATE/task.yaml index cd8322f5074..58307325ce4 100644 --- a/.github/ISSUE_TEMPLATE/task.yaml +++ b/.github/ISSUE_TEMPLATE/task.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: Task description: Plan a task body: diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 0264c035357..8fd9b7f4ae0 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + version: 2 updates: - package-ecosystem: github-actions diff --git a/.github/stale.yml b/.github/stale.yml index bc99e4383ca..ffce036c8d0 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + # Modified from https://github.com/probot/stale#usage # Number of days of inactivity before an Issue or Pull Request with the stale label is closed diff --git a/.github/workflows/cancel-previous-workflows.yaml b/.github/workflows/cancel-previous-workflows.yaml index bd2463d5a8e..ee79ce0e4d4 100644 --- a/.github/workflows/cancel-previous-workflows.yaml +++ b/.github/workflows/cancel-previous-workflows.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: cancel-previous-workflows on: diff --git a/.github/workflows/comment-on-pr.yaml b/.github/workflows/comment-on-pr.yaml index c80141ddac6..0f2ecf519db 100644 --- a/.github/workflows/comment-on-pr.yaml +++ b/.github/workflows/comment-on-pr.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: comment-on-pr on: pull_request_target: diff --git a/.github/workflows/github-release.yaml b/.github/workflows/github-release.yaml index 4b1d7f47c6c..bbe2ac512d7 100644 --- a/.github/workflows/github-release.yaml +++ b/.github/workflows/github-release.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: github-release on: diff --git a/.github/workflows/pre-commit-autoupdate.yaml b/.github/workflows/pre-commit-autoupdate.yaml index 8d57a53b5cc..489e32a1de1 100644 --- a/.github/workflows/pre-commit-autoupdate.yaml +++ b/.github/workflows/pre-commit-autoupdate.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: pre-commit-autoupdate on: diff --git a/.github/workflows/pre-commit-optional-autoupdate.yaml b/.github/workflows/pre-commit-optional-autoupdate.yaml index a9fe00401a1..be79ad481d1 100644 --- a/.github/workflows/pre-commit-optional-autoupdate.yaml +++ b/.github/workflows/pre-commit-optional-autoupdate.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: pre-commit-optional-autoupdate on: diff --git a/.github/workflows/pre-commit-optional.yaml b/.github/workflows/pre-commit-optional.yaml index 12f536c5516..3d0867028f7 100644 --- a/.github/workflows/pre-commit-optional.yaml +++ b/.github/workflows/pre-commit-optional.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: pre-commit-optional on: diff --git a/.github/workflows/semantic-pull-request.yaml b/.github/workflows/semantic-pull-request.yaml index 71224c224ec..b56040b084f 100644 --- a/.github/workflows/semantic-pull-request.yaml +++ b/.github/workflows/semantic-pull-request.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: semantic-pull-request on: diff --git a/.github/workflows/spell-check-daily.yaml b/.github/workflows/spell-check-daily.yaml index f6a14d00d86..2ff647acf03 100644 --- a/.github/workflows/spell-check-daily.yaml +++ b/.github/workflows/spell-check-daily.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: spell-check-daily on: @@ -15,7 +19,6 @@ jobs: - name: Run spell-check uses: autowarefoundation/autoware-github-actions/spell-check@v1 with: - local-cspell-json: .cspell.json incremental-files-only: false cspell-json-url: https://raw.githubusercontent.com/tier4/autoware-spell-check-dict/main/.cspell.json dict-packages: | diff --git a/.github/workflows/spell-check-differential.yaml b/.github/workflows/spell-check-differential.yaml index 90d59626723..e3af4327f21 100644 --- a/.github/workflows/spell-check-differential.yaml +++ b/.github/workflows/spell-check-differential.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: spell-check-differential on: diff --git a/.github/workflows/sync-files.yaml b/.github/workflows/sync-files.yaml index 0cffbcd2a26..9224c1503ed 100644 --- a/.github/workflows/sync-files.yaml +++ b/.github/workflows/sync-files.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + name: sync-files on: diff --git a/.markdownlint.yaml b/.markdownlint.yaml index 7b7359fe0cd..584154b2009 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + # See https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md for all rules. default: true MD013: false diff --git a/.pre-commit-config-optional.yaml b/.pre-commit-config-optional.yaml index 8c9345e15f0..ff325af5e87 100644 --- a/.pre-commit-config-optional.yaml +++ b/.pre-commit-config-optional.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + repos: - repo: https://github.com/tcort/markdown-link-check rev: v3.12.2 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b99c5e1c20c..e6dcc3f464a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + ci: autofix_commit_msg: "style(pre-commit): autofix" diff --git a/.prettierignore b/.prettierignore index a3c34d00a13..3e96aacebba 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,2 +1,6 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + *.param.yaml *.rviz diff --git a/.prettierrc.yaml b/.prettierrc.yaml index e29bf327627..fe476936f7b 100644 --- a/.prettierrc.yaml +++ b/.prettierrc.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + printWidth: 100 tabWidth: 2 overrides: diff --git a/.yamllint.yaml b/.yamllint.yaml index 2c7bd088e26..e0be62dbcb1 100644 --- a/.yamllint.yaml +++ b/.yamllint.yaml @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + extends: default ignore: | diff --git a/CPPLINT.cfg b/CPPLINT.cfg index ba6bdf08c10..81869c92be6 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + # Modified from https://github.com/ament/ament_lint/blob/ebd524bb9973d5ec1dc48a670ce54f958a5a0243/ament_cpplint/ament_cpplint/main.py#L64-L120 set noparent linelength=100 diff --git a/setup.cfg b/setup.cfg index 5214751c7ba..4d7d5e5b959 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,7 @@ +# This file is automatically synced from: +# https://github.com/autowarefoundation/sync-file-templates +# To make changes, update the source repository and follow the guidelines in its README. + [flake8] # Modified from https://github.com/ament/ament_lint/blob/ebd524bb9973d5ec1dc48a670ce54f958a5a0243/ament_flake8/ament_flake8/configuration/ament_flake8.ini extend-ignore = B902,C816,D100,D101,D102,D103,D104,D105,D106,D107,D203,D212,D404,I202,CNL100,E203,E501,Q000 From d8367f9acea56c59fd64e1ec88027be3bf50baf1 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Mon, 2 Dec 2024 19:21:51 +0900 Subject: [PATCH 49/75] feat(.github): push version tag images (#5522) * add tag pattern Signed-off-by: Yutaka Kondo * fix syntax Signed-off-by: Yutaka Kondo * add tags Signed-off-by: Yutaka Kondo * fix prefix and suffix Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo --- .../actions/docker-build-and-push-cuda/action.yaml | 6 +++++- .github/actions/docker-build-and-push/action.yaml | 11 +++++++++++ .github/workflows/docker-build-and-push-arm64.yaml | 1 + .github/workflows/docker-build-and-push.yaml | 1 + 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/actions/docker-build-and-push-cuda/action.yaml b/.github/actions/docker-build-and-push-cuda/action.yaml index bf9d9ca0854..92e7fcf01ef 100644 --- a/.github/actions/docker-build-and-push-cuda/action.yaml +++ b/.github/actions/docker-build-and-push-cuda/action.yaml @@ -72,6 +72,7 @@ runs: tags: | type=raw,value=universe-sensing-perception-devel-cuda-${{ inputs.platform }} type=raw,value=universe-sensing-perception-devel-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-sensing-perception-devel-cuda-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-sensing-perception-devel-cuda flavor: | latest=false @@ -84,6 +85,7 @@ runs: tags: | type=raw,value=universe-sensing-perception-cuda-${{ inputs.platform }} type=raw,value=universe-sensing-perception-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-sensing-perception-cuda-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-sensing-perception-cuda flavor: | latest=false @@ -96,6 +98,7 @@ runs: tags: | type=raw,value=universe-devel-cuda-${{ inputs.platform }} type=raw,value=universe-devel-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-devel-cuda-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-devel-cuda flavor: | latest=false @@ -108,9 +111,10 @@ runs: tags: | type=raw,value=universe-cuda-${{ inputs.platform }} type=raw,value=universe-cuda-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-cuda-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-cuda flavor: | - latest=auto + latest=false - name: Login to GitHub Container Registry uses: docker/login-action@v3 diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index c028eede588..5feb1bcc419 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -72,6 +72,7 @@ runs: tags: | type=raw,value=core-devel-${{ inputs.platform }} type=raw,value=core-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=core-devel-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-core-devel flavor: | latest=false @@ -84,6 +85,7 @@ runs: tags: | type=raw,value=universe-sensing-perception-devel-${{ inputs.platform }} type=raw,value=universe-sensing-perception-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-sensing-perception-devel-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-sensing-perception-devel flavor: | latest=false @@ -96,6 +98,7 @@ runs: tags: | type=raw,value=universe-sensing-perception-${{ inputs.platform }} type=raw,value=universe-sensing-perception-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-sensing-perception-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-sensing-perception flavor: | latest=false @@ -108,6 +111,7 @@ runs: tags: | type=raw,value=universe-localization-mapping-devel-${{ inputs.platform }} type=raw,value=universe-localization-mapping-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-localization-mapping-devel-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-localization-mapping-devel flavor: | latest=false @@ -120,6 +124,7 @@ runs: tags: | type=raw,value=universe-localization-mapping-${{ inputs.platform }} type=raw,value=universe-localization-mapping-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-localization-mapping-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-localization-mapping flavor: | latest=false @@ -132,6 +137,7 @@ runs: tags: | type=raw,value=universe-planning-control-devel-${{ inputs.platform }} type=raw,value=universe-planning-control-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-planning-control-devel-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-planning-control-devel flavor: | latest=false @@ -144,6 +150,7 @@ runs: tags: | type=raw,value=universe-planning-control-${{ inputs.platform }} type=raw,value=universe-planning-control-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-planning-control-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-planning-control flavor: | latest=false @@ -156,6 +163,7 @@ runs: tags: | type=raw,value=universe-vehicle-system-devel-${{ inputs.platform }} type=raw,value=universe-vehicle-system-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-vehicle-system-devel-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-vehicle-system-devel flavor: | latest=false @@ -168,6 +176,7 @@ runs: tags: | type=raw,value=universe-vehicle-system-${{ inputs.platform }} type=raw,value=universe-vehicle-system-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-vehicle-system-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-vehicle-system flavor: | latest=false @@ -180,6 +189,7 @@ runs: tags: | type=raw,value=universe-devel-${{ inputs.platform }} type=raw,value=universe-devel-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-devel-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe-devel flavor: | latest=false @@ -192,6 +202,7 @@ runs: tags: | type=raw,value=universe-${{ inputs.platform }} type=raw,value=universe-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=universe-,suffix=-${{ inputs.platform }} bake-target: docker-metadata-action-universe flavor: | latest=auto diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index ee50b263616..7242629c590 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -5,6 +5,7 @@ on: branches: - main tags: + - "*.*.*" workflow_dispatch: jobs: diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index 4fbcb666b0f..280fe2efbb3 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -5,6 +5,7 @@ on: branches: - main tags: + - "*.*.*" workflow_dispatch: jobs: From d5a18ba7d344cd4647136ea49b36ff28a1ac666e Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 3 Dec 2024 10:57:30 +0900 Subject: [PATCH 50/75] feat(.github): add `on:push:branches:` condition to `autoware-base` workflow (#5524) add paths arg Signed-off-by: Yutaka Kondo --- .github/workflows/autoware-base.yaml | 31 +++++++++------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/.github/workflows/autoware-base.yaml b/.github/workflows/autoware-base.yaml index e3d9720bcc4..72daa21e9cd 100644 --- a/.github/workflows/autoware-base.yaml +++ b/.github/workflows/autoware-base.yaml @@ -1,6 +1,14 @@ name: autoware-base on: + push: + branches: + - main + paths: + - docker/Dockerfile.base + - docker/scripts/cleanup_*.sh + - .github/actions/docker-build-and-push-base/* + - .github/workflows/autoware-base.yaml schedule: - cron: 0 0 15 * * # every 15th of the month workflow_dispatch: @@ -9,28 +17,9 @@ jobs: load-env: uses: ./.github/workflows/load-env.yaml - autoware-base-amd64: + autoware-base: needs: load-env runs-on: ubuntu-22.04 - steps: - - name: Check out this repository - uses: actions/checkout@v4 - - - name: Free disk space - uses: ./.github/actions/free-disk-space - - - name: Build Autoware's base images - uses: ./.github/actions/docker-build-and-push-base - with: - target-image: autoware-base - build-args: | - *.platform=linux/amd64 - *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} - *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} - - autoware-base-arm64: - needs: [load-env, autoware-base-amd64] - runs-on: ubuntu-22.04 steps: - name: Check out this repository uses: actions/checkout@v4 @@ -46,6 +35,6 @@ jobs: with: target-image: autoware-base build-args: | - *.platform=linux/arm64 + *.platform=linux/amd64,linux/arm64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} From 9185662fe8cf0810c6dee63a07378b304cde4c2e Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 3 Dec 2024 10:58:17 +0900 Subject: [PATCH 51/75] fix(.github): not push manifest if eithor `amd64` or `arm64` image is missing (#5525) not push manifest if eithor amd64 or arm64 is missing Signed-off-by: Yutaka Kondo --- .github/actions/combine-multi-arch-images/action.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/combine-multi-arch-images/action.yaml b/.github/actions/combine-multi-arch-images/action.yaml index 8c446c5ff2c..43779450543 100644 --- a/.github/actions/combine-multi-arch-images/action.yaml +++ b/.github/actions/combine-multi-arch-images/action.yaml @@ -82,14 +82,14 @@ runs: amd64_image="${{ steps.set-image-name.outputs.image-name }}:$amd64_tag" else echo "No amd64 tag found for '$base_tag'." - amd64_image="" + continue fi if [ "$arm64_tag" != "" ]; then arm64_image="${{ steps.set-image-name.outputs.image-name }}:$arm64_tag" else echo "No arm64 tag found for '$base_tag'." - arm64_image="" + continue fi echo "amd64_image: $amd64_image" From 503b2a0a2ba26edde2a1ddcef0e65571411cb79e Mon Sep 17 00:00:00 2001 From: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Date: Tue, 3 Dec 2024 23:02:22 +0900 Subject: [PATCH 52/75] chore(autoware.repos): fix autoware.core commit hash (#5530) Signed-off-by: Ryohsuke Mitsudome --- autoware.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoware.repos b/autoware.repos index c7e85183ed4..3cf0b40ff1a 100644 --- a/autoware.repos +++ b/autoware.repos @@ -33,7 +33,7 @@ repositories: core/autoware.core: type: git url: https://github.com/autowarefoundation/autoware.core.git - version: main + version: 0.0.0 # universe universe/autoware.universe: type: git From 33215d656ae94fa4d27a0059192c3dd210d54759 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 5 Dec 2024 15:51:36 +0900 Subject: [PATCH 53/75] feat(.git): delete `-amd64` and `-arm64` image tags after pushing manifest (#5526) * not push manifest if eithor amd64 or arm64 is missing Signed-off-by: Yutaka Kondo * delete -amd64 and -arm64 tags Signed-off-by: Yutaka Kondo --------- Signed-off-by: Yutaka Kondo --- .../actions/combine-multi-arch-images/action.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/actions/combine-multi-arch-images/action.yaml b/.github/actions/combine-multi-arch-images/action.yaml index 43779450543..874054f4ed2 100644 --- a/.github/actions/combine-multi-arch-images/action.yaml +++ b/.github/actions/combine-multi-arch-images/action.yaml @@ -67,7 +67,7 @@ runs: ALL_TAGS: ${{ steps.get-all-tags.outputs.tags }} shell: bash - - name: Create Docker manifest + - name: Create Docker manifest and delete -amd64 and -arm64 tags run: | for base_tag in $BASE_TAGS; do echo -e "\nbase_tag: $base_tag" @@ -100,6 +100,16 @@ runs: $arm64_image; then docker manifest push ${{ steps.set-image-name.outputs.image-name }}:$base_tag + + # Delete amd64_image and arm64_image + curl -X DELETE \ + -H "Authorization: Bearer ${{ github.token }}" \ + -H "Accept: application/vnd.github.v3+json" \ + https://api.github.com/orgs/${{ github.repository_owner }}/packages/container/${{ inputs.package-name }}/versions/$amd64_tag + curl -X DELETE \ + -H "Authorization: Bearer ${{ github.token }}" \ + -H "Accept: application/vnd.github.v3+json" \ + https://api.github.com/orgs/${{ github.repository_owner }}/packages/container/${{ inputs.package-name }}/versions/$arm64_tag fi done env: From 302e8b51c03a3599030b6492002254aefca55da3 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 5 Dec 2024 22:02:43 +0900 Subject: [PATCH 54/75] chore(.github): skip `free-disk-space` action if there are no changed files (#5536) skip free-disk-space action Signed-off-by: Yutaka Kondo --- .../workflows/docker-build-and-push-arm64.yaml | 18 ++++++++++++------ .github/workflows/docker-build-and-push.yaml | 18 ++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index 7242629c590..167c1d7ebf3 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -29,9 +29,6 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} - - name: Free disk space - uses: ./.github/actions/free-disk-space - - name: Get changed files id: changed-files uses: tj-actions/changed-files@v45 @@ -45,6 +42,12 @@ jobs: ansible/** docker/** + - name: Free disk space + if: ${{ steps.changed-files.outputs.any_changed == 'true' || + github.event_name == 'workflow_dispatch' || + (github.event_name == 'push' && github.ref_type == 'tag') }} + uses: ./.github/actions/free-disk-space + - name: Build 'Autoware' without CUDA if: ${{ steps.changed-files.outputs.any_changed == 'true' || github.event_name == 'workflow_dispatch' || @@ -81,9 +84,6 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} - - name: Free disk space - uses: ./.github/actions/free-disk-space - - name: Get changed files id: changed-files uses: tj-actions/changed-files@v45 @@ -97,6 +97,12 @@ jobs: ansible/** docker/** + - name: Free disk space + if: ${{ steps.changed-files.outputs.any_changed == 'true' || + github.event_name == 'workflow_dispatch' || + (github.event_name == 'push' && github.ref_type == 'tag') }} + uses: ./.github/actions/free-disk-space + - name: Build 'Autoware' with CUDA if: ${{ steps.changed-files.outputs.any_changed == 'true' || github.event_name == 'workflow_dispatch' || diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index 280fe2efbb3..567678bde3e 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -24,9 +24,6 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} - - name: Free disk space - uses: ./.github/actions/free-disk-space - - name: Get changed files id: changed-files uses: tj-actions/changed-files@v45 @@ -40,6 +37,12 @@ jobs: ansible/** docker/** + - name: Free disk space + if: ${{ steps.changed-files.outputs.any_changed == 'true' || + github.event_name == 'workflow_dispatch' || + (github.event_name == 'push' && github.ref_type == 'tag') }} + uses: ./.github/actions/free-disk-space + - name: Build 'Autoware' without CUDA if: ${{ steps.changed-files.outputs.any_changed == 'true' || github.event_name == 'workflow_dispatch' || @@ -76,9 +79,6 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} - - name: Free disk space - uses: ./.github/actions/free-disk-space - - name: Get changed files id: changed-files uses: tj-actions/changed-files@v45 @@ -92,6 +92,12 @@ jobs: ansible/** docker/** + - name: Free disk space + if: ${{ steps.changed-files.outputs.any_changed == 'true' || + github.event_name == 'workflow_dispatch' || + (github.event_name == 'push' && github.ref_type == 'tag') }} + uses: ./.github/actions/free-disk-space + - name: Build 'Autoware' with CUDA if: ${{ steps.changed-files.outputs.any_changed == 'true' || github.event_name == 'workflow_dispatch' || From f4698fd022ec9ffdad7f9a93cb34b5ade687a57f Mon Sep 17 00:00:00 2001 From: Ryuta Kambe Date: Wed, 11 Dec 2024 19:58:11 +0900 Subject: [PATCH 55/75] ci: enable bugprone-* warnings in clang-tidy (#5543) Signed-off-by: Ryuta Kambe --- .clang-tidy-ci | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.clang-tidy-ci b/.clang-tidy-ci index b5928f04733..5bba4fb90f9 100644 --- a/.clang-tidy-ci +++ b/.clang-tidy-ci @@ -1,6 +1,17 @@ Checks: " -*, - bugprone-dangling-handle" + bugprone-*, + -bugprone-branch-clone, + -bugprone-easily-swappable-parameters, + -bugprone-exception-escape, + -bugprone-implicit-widening-of-multiplication-result, + -bugprone-infinite-loop, + -bugprone-integer-division, + -bugprone-macro-parentheses, + -bugprone-narrowing-conversions, + -bugprone-parent-virtual-call, + -bugprone-reserved-identifier, + -bugprone-signed-char-misuse" WarningsAsErrors: "*" From 5c01fb0991ea70c3ccb9112ba9739511bb38a491 Mon Sep 17 00:00:00 2001 From: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Date: Thu, 12 Dec 2024 09:28:09 +0900 Subject: [PATCH 56/75] feat(autoware.repos): use version tag for sensor_kits (#5554) Signed-off-by: Ryohsuke Mitsudome --- autoware.repos | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autoware.repos b/autoware.repos index 3cf0b40ff1a..61b499632f9 100644 --- a/autoware.repos +++ b/autoware.repos @@ -108,11 +108,11 @@ repositories: sensor_kit/sample_sensor_kit_launch: type: git url: https://github.com/autowarefoundation/sample_sensor_kit_launch.git - version: main + version: 0.39.0 sensor_kit/external/awsim_sensor_kit_launch: # TODO: Integrate into sample_sensor_kit_launch type: git url: https://github.com/tier4/awsim_sensor_kit_launch.git - version: main + version: 0.39.0 sensor_kit/awsim_labs_sensor_kit_launch: type: git url: https://github.com/autowarefoundation/awsim_labs_sensor_kit_launch.git From 46ec487290494de37e545b7c5ec1f894d705648e Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 15:58:39 +0300 Subject: [PATCH 57/75] ci(pre-commit-ansible): autoupdate (#5552) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions --- .pre-commit-config-ansible.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config-ansible.yaml b/.pre-commit-config-ansible.yaml index 161ab4efada..971918e470f 100644 --- a/.pre-commit-config-ansible.yaml +++ b/.pre-commit-config-ansible.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/ansible/ansible-lint.git - rev: v24.10.0 + rev: v24.12.2 hooks: - id: ansible-lint additional_dependencies: From 3ee11e31e491376006a6e8c774b30286087f7eb4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 15:59:26 +0300 Subject: [PATCH 58/75] chore(deps): bump peter-evans/create-pull-request from 6 to 7 (#5162) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/update-tool-versions.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-tool-versions.yaml b/.github/workflows/update-tool-versions.yaml index 2f38b8a2213..7ffa17bd25d 100644 --- a/.github/workflows/update-tool-versions.yaml +++ b/.github/workflows/update-tool-versions.yaml @@ -40,7 +40,7 @@ jobs: - name: Create PR id: create-pr - uses: peter-evans/create-pull-request@v6 + uses: peter-evans/create-pull-request@v7 with: token: ${{ steps.generate-token.outputs.token }} base: ${{ github.event.repository.default_branch }} From d99cfdef4c3ee46077bb3127bd74d48c49c5e84f Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 16:01:30 +0300 Subject: [PATCH 59/75] ci(pre-commit-optional): autoupdate (#5401) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions --- .pre-commit-config-optional.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config-optional.yaml b/.pre-commit-config-optional.yaml index ff325af5e87..56000d93a8a 100644 --- a/.pre-commit-config-optional.yaml +++ b/.pre-commit-config-optional.yaml @@ -4,7 +4,7 @@ repos: - repo: https://github.com/tcort/markdown-link-check - rev: v3.12.2 + rev: v3.13.6 hooks: - id: markdown-link-check args: [--quiet, --config=.markdown-link-check.json] From 11e970519420386bc55de4700699347f49435f81 Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 15:44:05 +0000 Subject: [PATCH 60/75] chore: sync files (#5541) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions --- .github/dependabot.yaml | 3 ++- .github/workflows/pre-commit-autoupdate.yaml | 2 +- .../pre-commit-optional-autoupdate.yaml | 2 +- .pre-commit-config.yaml | 18 +++++++++++------- CPPLINT.cfg | 2 ++ 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 8fd9b7f4ae0..8e2d7193aed 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -6,8 +6,9 @@ version: 2 updates: - package-ecosystem: github-actions directory: / + # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#scheduleinterval schedule: - interval: daily + interval: monthly open-pull-requests-limit: 1 labels: - tag:bot diff --git a/.github/workflows/pre-commit-autoupdate.yaml b/.github/workflows/pre-commit-autoupdate.yaml index 489e32a1de1..60c17d9dabf 100644 --- a/.github/workflows/pre-commit-autoupdate.yaml +++ b/.github/workflows/pre-commit-autoupdate.yaml @@ -6,7 +6,7 @@ name: pre-commit-autoupdate on: schedule: - - cron: 0 0 * * * + - cron: 0 0 1 1,4,7,10 * # quarterly workflow_dispatch: jobs: diff --git a/.github/workflows/pre-commit-optional-autoupdate.yaml b/.github/workflows/pre-commit-optional-autoupdate.yaml index be79ad481d1..6639e5ca6c6 100644 --- a/.github/workflows/pre-commit-optional-autoupdate.yaml +++ b/.github/workflows/pre-commit-optional-autoupdate.yaml @@ -6,7 +6,7 @@ name: pre-commit-optional-autoupdate on: schedule: - - cron: 0 0 * * * + - cron: 0 0 1 1,4,7,10 * # quarterly workflow_dispatch: jobs: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e6dcc3f464a..a87ad293fd9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,12 +2,16 @@ # https://github.com/autowarefoundation/sync-file-templates # To make changes, update the source repository and follow the guidelines in its README. +# https://pre-commit.ci/#configuration ci: autofix_commit_msg: "style(pre-commit): autofix" + # we already have our own daily update mechanism, we set this to quarterly + autoupdate_schedule: quarterly + autoupdate_commit_msg: "ci(pre-commit): quarterly autoupdate" repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 + rev: v5.0.0 hooks: - id: check-json - id: check-merge-conflict @@ -22,7 +26,7 @@ repos: args: [--markdown-linebreak-ext=md] - repo: https://github.com/igorshubovych/markdownlint-cli - rev: v0.41.0 + rev: v0.43.0 hooks: - id: markdownlint args: [-c, .markdownlint.yaml, --fix] @@ -53,7 +57,7 @@ repos: - id: shellcheck - repo: https://github.com/scop/pre-commit-shfmt - rev: v3.9.0-1 + rev: v3.10.0-2 hooks: - id: shfmt args: [-w, -s, -i=4] @@ -64,26 +68,26 @@ repos: - id: isort - repo: https://github.com/psf/black - rev: 24.8.0 + rev: 24.10.0 hooks: - id: black args: [--line-length=100] - repo: https://github.com/pre-commit/mirrors-clang-format - rev: v18.1.8 + rev: v19.1.4 hooks: - id: clang-format types_or: [c++, c, cuda] - repo: https://github.com/cpplint/cpplint - rev: 1.6.1 + rev: 2.0.0 hooks: - id: cpplint args: [--quiet] exclude: .cu - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.30.0 hooks: - id: check-metaschema files: ^.+/schema/.*schema\.json$ diff --git a/CPPLINT.cfg b/CPPLINT.cfg index 81869c92be6..159042dba0b 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -7,10 +7,12 @@ set noparent linelength=100 includeorder=standardcfirst filter=-build/c++11 # we do allow C++11 +filter=-build/c++17 # we allow filter=-build/namespaces_literals # we allow using namespace for literals filter=-runtime/references # we consider passing non-const references to be ok filter=-whitespace/braces # we wrap open curly braces for namespaces, classes and functions filter=-whitespace/indent # we don't indent keywords like public, protected and private with one space +filter=-whitespace/newline # we allow the developer to decide about newline at the end of file (it's clashing with clang-format) filter=-whitespace/parens # we allow closing parenthesis to be on the next line filter=-whitespace/semicolon # we allow the developer to decide about whitespace after a semicolon filter=-build/header_guard # we automatically fix the names of header guards using pre-commit From bad175eb1300d55b4a5088085553cf4bb7258f62 Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Tue, 17 Dec 2024 09:56:46 +0300 Subject: [PATCH 61/75] chore: sync files (#5572) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a87ad293fd9..48a97c13ef9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -74,7 +74,7 @@ repos: args: [--line-length=100] - repo: https://github.com/pre-commit/mirrors-clang-format - rev: v19.1.4 + rev: v19.1.5 hooks: - id: clang-format types_or: [c++, c, cuda] From b0ae17744faf78b35e7b287dd35521847a5ea12c Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 17 Dec 2024 22:48:09 +0900 Subject: [PATCH 62/75] fix(.github): fix CODEOWNERS (#5575) Update CODEOWNERS --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 765564beaf4..98759c5c103 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,4 +1,4 @@ -* ryohsuke.mitsudome@tier4.jp mfc@leodrive.ai +* ryohsuke.mitsudome@tier4.jp mfc@autoware.org .devcontainer/** oguzkaganozt@gmail.com yutaka.kondo@tier4.jp .github/** oguzkaganozt@gmail.com yutaka.kondo@tier4.jp From 5a42d965691cd761af29bfe04655f054aa52763b Mon Sep 17 00:00:00 2001 From: Fumiya Watanabe Date: Tue, 17 Dec 2024 23:09:56 +0900 Subject: [PATCH 63/75] fix: update branch of scenario_simulator_v2 to master (#5570) Signed-off-by: Fumiya Watanabe --- simulator.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simulator.repos b/simulator.repos index 30e005c4f0c..2940aa4f72f 100644 --- a/simulator.repos +++ b/simulator.repos @@ -2,4 +2,4 @@ repositories: simulator/scenario_simulator: type: git url: https://github.com/tier4/scenario_simulator_v2.git - version: RJD-736/autoware_msgs_support # TODO(mitsudome-r): switch back to master once this branch is merged + version: 7.3.1 From 2e05c36f76f38cbfe53cfadb4c548402a953b24c Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Wed, 18 Dec 2024 18:28:00 +0900 Subject: [PATCH 64/75] feat(autoware.repos): remove `autoware_common` from `autoware.repos` (#5578) --- autoware.repos | 5 ----- 1 file changed, 5 deletions(-) diff --git a/autoware.repos b/autoware.repos index 61b499632f9..10d2bb5a63d 100644 --- a/autoware.repos +++ b/autoware.repos @@ -13,11 +13,6 @@ repositories: type: git url: https://github.com/autowarefoundation/autoware_internal_msgs.git version: 1.1.0 - # TODO(youtalk): Remove autoware_common when https://github.com/autowarefoundation/autoware/issues/4911 is closed - core/autoware_common: - type: git - url: https://github.com/autowarefoundation/autoware_common.git - version: remove-autoware-cmake-utils core/autoware_cmake: type: git url: https://github.com/autowarefoundation/autoware_cmake.git From 8f750f46ff081302cb6435c00b289b3f814a3dac Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 19 Dec 2024 07:01:57 +0900 Subject: [PATCH 65/75] chore(.devcontainer): add `core-devel` development container (#5574) add core-devel devcontainer Signed-off-by: Yutaka Kondo --- .devcontainer/core-devel/devcontainer.json | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .devcontainer/core-devel/devcontainer.json diff --git a/.devcontainer/core-devel/devcontainer.json b/.devcontainer/core-devel/devcontainer.json new file mode 100644 index 00000000000..da76c733436 --- /dev/null +++ b/.devcontainer/core-devel/devcontainer.json @@ -0,0 +1,22 @@ +{ + "name": "autoware:core-devel", + "build": { + "dockerfile": "../Dockerfile", + "args": { "BASE_IMAGE": "ghcr.io/autowarefoundation/autoware:core-devel" } + }, + "remoteUser": "autoware", + "runArgs": [ + "--cap-add=SYS_PTRACE", + "--security-opt", + "seccomp=unconfined", + "--net=host", + "--volume=/etc/localtime:/etc/localtime:ro" + ], + "customizations": { + "vscode": { + "settings.json": { + "terminal.integrated.profiles.linux": { "bash": { "path": "/bin/bash" } } + } + } + } +} From 8f35d9b7deacf55363b19bc8118b93d729c719f5 Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Thu, 19 Dec 2024 21:39:37 +0900 Subject: [PATCH 66/75] feat(autoware.repos): minor update autowarefoundation/autoware_internal_msgs to 1.2.0 (#5584) Signed-off-by: github-actions Co-authored-by: github-actions --- autoware.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoware.repos b/autoware.repos index 10d2bb5a63d..3d75d5cfcd4 100644 --- a/autoware.repos +++ b/autoware.repos @@ -12,7 +12,7 @@ repositories: core/autoware_internal_msgs: type: git url: https://github.com/autowarefoundation/autoware_internal_msgs.git - version: 1.1.0 + version: 1.2.0 core/autoware_cmake: type: git url: https://github.com/autowarefoundation/autoware_cmake.git From 7acb8efa608dbf4a45d88f9c4d1f7365b9b3d07b Mon Sep 17 00:00:00 2001 From: Junya Sasaki Date: Fri, 20 Dec 2024 14:28:23 +0900 Subject: [PATCH 67/75] feat: monitor version update in `simulator.repos` too (#5590) Signed-off-by: Junya Sasaki --- .../create-prs-to-update-vcs-repositories.yaml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-prs-to-update-vcs-repositories.yaml b/.github/workflows/create-prs-to-update-vcs-repositories.yaml index adb5628e28a..ca34700bdda 100644 --- a/.github/workflows/create-prs-to-update-vcs-repositories.yaml +++ b/.github/workflows/create-prs-to-update-vcs-repositories.yaml @@ -18,7 +18,7 @@ jobs: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.PRIVATE_KEY }} - - name: Create PRs to update VCS repositories + - name: Create PRs to update VCS repositories for autoware.repos uses: autowarefoundation/autoware-github-actions/create-prs-to-update-vcs-repositories@v1 with: token: ${{ steps.generate-token.outputs.token }} @@ -29,3 +29,15 @@ jobs: new_branch_prefix: feat/update- autoware_repos_file_name: autoware.repos verbosity: 0 + + - name: Create PRs to update VCS repositories for simulator.repos + uses: autowarefoundation/autoware-github-actions/create-prs-to-update-vcs-repositories@v1 + with: + token: ${{ steps.generate-token.outputs.token }} + repo_name: autowarefoundation/autoware + parent_dir: . + targets: major minor patch + base_branch: main + new_branch_prefix: feat/update- + autoware_repos_file_name: simulator.repos + verbosity: 0 From 2474461339b0e7e81bb1bc85768e7468840cc8da Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Fri, 20 Dec 2024 16:51:05 +0900 Subject: [PATCH 68/75] feat(simulator.repos): patch update tier4/scenario_simulator_v2 to 7.3.5 (#5592) Signed-off-by: github-actions Co-authored-by: github-actions --- simulator.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simulator.repos b/simulator.repos index 2940aa4f72f..fa700902666 100644 --- a/simulator.repos +++ b/simulator.repos @@ -2,4 +2,4 @@ repositories: simulator/scenario_simulator: type: git url: https://github.com/tier4/scenario_simulator_v2.git - version: 7.3.1 + version: 7.3.5 From b3b7c8dd019deed118b2c442e36bfc4f03606cde Mon Sep 17 00:00:00 2001 From: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Date: Fri, 20 Dec 2024 17:24:14 +0900 Subject: [PATCH 69/75] feat(autoware.repos): use version tag for single_lidar_sensor_kit_launch (#5566) Signed-off-by: Ryohsuke Mitsudome --- autoware.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoware.repos b/autoware.repos index 3d75d5cfcd4..3763c1dcda9 100644 --- a/autoware.repos +++ b/autoware.repos @@ -115,7 +115,7 @@ repositories: sensor_kit/single_lidar_sensor_kit_launch: type: git url: https://github.com/autowarefoundation/single_lidar_sensor_kit_launch.git - version: main + version: 0.39.0 # vehicle vehicle/sample_vehicle_launch: type: git From e5494de02afd2787f5c6b2e91b1bc5277b9c425f Mon Sep 17 00:00:00 2001 From: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Date: Fri, 20 Dec 2024 19:47:34 +0900 Subject: [PATCH 70/75] feat(autoware.repos): use version tag for awsim_labs_sensor_kit_launch (#5567) feat(autoware.repo): use version tag for awsim_labs_sensor_kit_launch Signed-off-by: Ryohsuke Mitsudome --- autoware.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoware.repos b/autoware.repos index 3763c1dcda9..33e5b5958a9 100644 --- a/autoware.repos +++ b/autoware.repos @@ -111,7 +111,7 @@ repositories: sensor_kit/awsim_labs_sensor_kit_launch: type: git url: https://github.com/autowarefoundation/awsim_labs_sensor_kit_launch.git - version: main + version: 0.39.0 sensor_kit/single_lidar_sensor_kit_launch: type: git url: https://github.com/autowarefoundation/single_lidar_sensor_kit_launch.git From 593f1419b7a3c0eec787a2423424accab3c3b62f Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Sun, 22 Dec 2024 10:34:37 +0300 Subject: [PATCH 71/75] chore: sync files (#5598) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions --- .pre-commit-config-optional.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config-optional.yaml b/.pre-commit-config-optional.yaml index 56000d93a8a..ff325af5e87 100644 --- a/.pre-commit-config-optional.yaml +++ b/.pre-commit-config-optional.yaml @@ -4,7 +4,7 @@ repos: - repo: https://github.com/tcort/markdown-link-check - rev: v3.13.6 + rev: v3.12.2 hooks: - id: markdown-link-check args: [--quiet, --config=.markdown-link-check.json] From c490050599aef24e7d82e5db33d920ac58e93495 Mon Sep 17 00:00:00 2001 From: Amadeusz Szymko Date: Mon, 23 Dec 2024 16:58:03 +0900 Subject: [PATCH 72/75] fix(docker): update build script with respect to multi-container design (#5571) --- docker/build.sh | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/docker/build.sh b/docker/build.sh index b962137b79c..d0d8b8976eb 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -59,9 +59,9 @@ set_cuda_options() { # Set build options set_build_options() { if [ "$option_devel_only" = "true" ]; then - targets=("universe-devel") + target="universe-devel" else - targets=() + target="universe" fi } @@ -121,10 +121,10 @@ build_images() { echo "Setup args: $setup_args" echo "Lib dir: $lib_dir" echo "Image name suffix: $image_name_suffix" - echo "Targets: ${targets[*]}" + echo "Target: $target" set -x - docker buildx bake --load --progress=plain -f "$SCRIPT_DIR/docker-bake.hcl" \ + docker buildx bake --load --progress=plain -f "$SCRIPT_DIR/docker-bake-base.hcl" \ --set "*.context=$WORKSPACE_ROOT" \ --set "*.ssh=default" \ --set "*.platform=$platform" \ @@ -132,10 +132,23 @@ build_images() { --set "*.args.BASE_IMAGE=$base_image" \ --set "*.args.SETUP_ARGS=$setup_args" \ --set "*.args.LIB_DIR=$lib_dir" \ - --set "base.tags=ghcr.io/autowarefoundation/autoware:base" \ - --set "universe-devel.tags=ghcr.io/autowarefoundation/autoware:universe-devel$image_name_suffix" \ - --set "universe.tags=ghcr.io/autowarefoundation/autoware:universe$image_name_suffix" \ - "${targets[@]}" + --set "base.tags=ghcr.io/autowarefoundation/autoware-base:latest" \ + --set "base-cuda.tags=ghcr.io/autowarefoundation/autoware-base:cuda-latest" + docker buildx bake --load --progress=plain -f "$SCRIPT_DIR/docker-bake.hcl" -f "$SCRIPT_DIR/docker-bake-cuda.hcl" \ + --set "*.context=$WORKSPACE_ROOT" \ + --set "*.ssh=default" \ + --set "*.platform=$platform" \ + --set "*.args.ROS_DISTRO=$rosdistro" \ + --set "*.args.BASE_IMAGE=$base_image" \ + --set "*.args.AUTOWARE_BASE_IMAGE=$autoware_base_image" \ + --set "*.args.AUTOWARE_BASE_CUDA_IMAGE=$autoware_base_cuda_image" \ + --set "*.args.SETUP_ARGS=$setup_args" \ + --set "*.args.LIB_DIR=$lib_dir" \ + --set "universe-devel.tags=ghcr.io/autowarefoundation/autoware:universe-devel" \ + --set "universe-devel-cuda.tags=ghcr.io/autowarefoundation/autoware:universe-devel-cuda" \ + --set "universe.tags=ghcr.io/autowarefoundation/autoware:universe" \ + --set "universe-cuda.tags=ghcr.io/autowarefoundation/autoware:universe-cuda" \ + "$target$image_name_suffix" set +x } From 06b83937cffe3649215fefc247634881a7b6a02c Mon Sep 17 00:00:00 2001 From: "awf-autoware-bot[bot]" <94889083+awf-autoware-bot[bot]@users.noreply.github.com> Date: Thu, 26 Dec 2024 15:25:01 +0900 Subject: [PATCH 73/75] feat(autoware.repos): minor update autowarefoundation/autoware_internal_msgs to 1.3.0 (#5612) Signed-off-by: github-actions Co-authored-by: github-actions --- autoware.repos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoware.repos b/autoware.repos index 33e5b5958a9..83b0eaf94fb 100644 --- a/autoware.repos +++ b/autoware.repos @@ -12,7 +12,7 @@ repositories: core/autoware_internal_msgs: type: git url: https://github.com/autowarefoundation/autoware_internal_msgs.git - version: 1.2.0 + version: 1.3.0 core/autoware_cmake: type: git url: https://github.com/autowarefoundation/autoware_cmake.git From c9c32480ecff40ce15c0bf7d51a77d67eb981e5e Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 26 Dec 2024 15:41:26 +0900 Subject: [PATCH 74/75] chore(autoware-nightly.repoos): add `autoware_internal_msgs` (#5613) add autoware_internal_msgs to nightly Signed-off-by: Yutaka Kondo --- autoware-nightly.repos | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/autoware-nightly.repos b/autoware-nightly.repos index 49da4fee814..e369eba8299 100644 --- a/autoware-nightly.repos +++ b/autoware-nightly.repos @@ -3,6 +3,10 @@ repositories: type: git url: https://github.com/autowarefoundation/autoware_adapi_msgs.git version: main + core/autoware_internal_msgs: + type: git + url: https://github.com/autowarefoundation/autoware_internal_msgs.git + version: main core/autoware.core: type: git url: https://github.com/autowarefoundation/autoware.core.git From afc7de552d308bb65c79f3e2e177ed387d5ae125 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Thu, 9 Jan 2025 18:35:58 +0900 Subject: [PATCH 75/75] chore(autoware.repos): update `autoware.core` to `0.1.0`, `autoware.universe` to `0.40.0` and `autoware_launch` to `0.40.0` (#5636) Signed-off-by: Yutaka Kondo --- autoware.repos | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/autoware.repos b/autoware.repos index 83b0eaf94fb..16bc4dfe745 100644 --- a/autoware.repos +++ b/autoware.repos @@ -28,12 +28,12 @@ repositories: core/autoware.core: type: git url: https://github.com/autowarefoundation/autoware.core.git - version: 0.0.0 + version: 0.1.0 # universe universe/autoware.universe: type: git url: https://github.com/autowarefoundation/autoware.universe.git - version: 0.39.0 + version: 0.40.0 universe/external/tier4_ad_api_adaptor: # TODO(TIER IV): Migrate to AD API and remove this repository entry. type: git url: https://github.com/tier4/tier4_ad_api_adaptor.git @@ -75,7 +75,7 @@ repositories: launcher/autoware_launch: type: git url: https://github.com/autowarefoundation/autoware_launch.git - version: 0.39.0 + version: 0.40.0 # sensor_component sensor_component/external/sensor_component_description: type: git