diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index a0be389d9c0..e684a337d5b 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -25,6 +25,19 @@ runs: - name: Setup Docker Buildx uses: docker/setup-buildx-action@v2 + - 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: Set Docker tags id: set-docker-tags run: | diff --git a/.github/workflows/build-main-self-hosted.yaml b/.github/workflows/build-main-self-hosted.yaml index d83234253f6..07e07e67a59 100644 --- a/.github/workflows/build-main-self-hosted.yaml +++ b/.github/workflows/build-main-self-hosted.yaml @@ -27,11 +27,13 @@ jobs: - cuda include: - name: no-cuda + platform: arm64 base_image_env: base_image lib_dir: aarch64 setup-args: --no-nvidia additional-tag-suffix: "" - name: cuda + platform: arm64 base_image_env: base_image lib_dir: aarch64 additional-tag-suffix: -cuda @@ -44,12 +46,6 @@ jobs: - name: Check out repository uses: actions/checkout@v4 - - name: Install vcstool - run: | - sudo apt-get -y update - sudo apt-get -y install python3-pip - pip install --no-cache-dir vcstool - - name: Set git config uses: autowarefoundation/autoware-github-actions/set-git-config@v1 with: @@ -58,23 +54,18 @@ jobs: - name: Free disk space uses: ./.github/actions/free-disk-space - - name: Run vcs import - run: | - mkdir src - vcs import src < autoware.repos - - - name: Build 'autoware-universe' + - name: Build 'Autoware' uses: ./.github/actions/docker-build-and-push with: bake-target: autoware build-args: | - *.platform=linux/arm64 + *.platform=linux/${{ matrix.platform }} *.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 }}-arm64 - *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-arm64,mode=max + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-${{ matrix.platform }} + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-${{ matrix.platform }},mode=max tag-suffix: ${{ matrix.additional-tag-suffix }}-arm64 tag-prefix: ${{ needs.load-env.outputs.rosdistro }} allow-push: false diff --git a/.github/workflows/build-main.yaml b/.github/workflows/build-main.yaml index 953f93492b1..86380deb512 100644 --- a/.github/workflows/build-main.yaml +++ b/.github/workflows/build-main.yaml @@ -27,11 +27,13 @@ jobs: - cuda include: - name: no-cuda + platform: amd64 base_image_env: base_image lib_dir: x86_64 setup-args: --no-nvidia additional-tag-suffix: "" - name: cuda + platform: amd64 base_image_env: base_image lib_dir: x86_64 additional-tag-suffix: -cuda @@ -39,12 +41,6 @@ jobs: - name: Check out repository uses: actions/checkout@v4 - - name: Install vcstool - run: | - sudo apt-get -y update - sudo apt-get -y install python3-pip - pip install --no-cache-dir vcstool - - name: Set git config uses: autowarefoundation/autoware-github-actions/set-git-config@v1 with: @@ -53,23 +49,18 @@ jobs: - name: Free disk space uses: ./.github/actions/free-disk-space - - name: Run vcs import - run: | - mkdir src - vcs import src < autoware.repos - - - name: Build 'autoware-universe' + - name: Build 'Autoware' uses: ./.github/actions/docker-build-and-push with: bake-target: autoware build-args: | - *.platform=linux/amd64 + *.platform=linux/${{ matrix.platform }} *.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 }}-amd64 - *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-amd64,mode=max + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-${{ matrix.platform }} + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-${{ matrix.platform }},mode=max tag-suffix: ${{ matrix.additional-tag-suffix }}-amd64 tag-prefix: ${{ needs.load-env.outputs.rosdistro }} allow-push: false diff --git a/.github/workflows/dco.yaml b/.github/workflows/dco.yaml new file mode 100644 index 00000000000..db7ace467c6 --- /dev/null +++ b/.github/workflows/dco.yaml @@ -0,0 +1,21 @@ +name: DCO +# ref: https://github.com/anchore/syft/pull/2926/files +on: + pull_request: +jobs: + dco: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Python 3.x + uses: actions/setup-python@v5 + with: + python-version: 3.x + + - name: Check DCO + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + pip3 install -U dco-check + dco-check --verbose --exclude-pattern 'pre-commit-ci\[bot\]@users\.noreply\.github\.com' diff --git a/.github/workflows/docker-build-and-push-main-self-hosted.yaml b/.github/workflows/docker-build-and-push-main-self-hosted.yaml index e4814e20ceb..080db7fae32 100644 --- a/.github/workflows/docker-build-and-push-main-self-hosted.yaml +++ b/.github/workflows/docker-build-and-push-main-self-hosted.yaml @@ -33,11 +33,13 @@ jobs: - cuda include: - name: no-cuda + platform: arm64 base_image_env: base_image lib_dir: aarch64 setup-args: --no-nvidia additional-tag-suffix: "" - name: cuda + platform: arm64 base_image_env: base_image lib_dir: aarch64 additional-tag-suffix: -cuda @@ -58,35 +60,24 @@ jobs: - name: Check out repository uses: actions/checkout@v4 - - name: Install vcstool - run: | - sudo apt-get -y update - sudo apt-get -y install python3-pip - pip install --no-cache-dir vcstool - - name: Set git config uses: autowarefoundation/autoware-github-actions/set-git-config@v1 with: token: ${{ secrets.GITHUB_TOKEN }} - - name: Run vcs import - run: | - mkdir src - vcs import src < autoware.repos - - name: Build 'Autoware' if: steps.author-check.outputs.author-found == 'true' || ${{ github.event_name == 'workflow_dispatch' }} uses: ./.github/actions/docker-build-and-push with: bake-target: autoware build-args: | - *.platform=linux/arm64 + *.platform=linux/${{ matrix.platform }} *.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 }}-arm64 - *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-arm64,mode=max + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-${{ matrix.platform }} + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-${{ matrix.platform }},mode=max tag-suffix: ${{ matrix.additional-tag-suffix }}-arm64 tag-prefix: ${{ needs.load-env.outputs.rosdistro }} allow-push: true diff --git a/.github/workflows/docker-build-and-push-main.yaml b/.github/workflows/docker-build-and-push-main.yaml index f02ae4b08af..9c996a9dd24 100644 --- a/.github/workflows/docker-build-and-push-main.yaml +++ b/.github/workflows/docker-build-and-push-main.yaml @@ -33,11 +33,13 @@ jobs: - cuda include: - name: no-cuda + platform: amd64 base_image_env: base_image lib_dir: x86_64 setup-args: --no-nvidia additional-tag-suffix: "" - name: cuda + platform: amd64 base_image_env: base_image lib_dir: x86_64 additional-tag-suffix: -cuda @@ -58,35 +60,24 @@ jobs: - name: Check out repository uses: actions/checkout@v4 - - name: Install vcstool - run: | - sudo apt-get -y update - sudo apt-get -y install python3-pip - pip install --no-cache-dir vcstool - - name: Set git config uses: autowarefoundation/autoware-github-actions/set-git-config@v1 with: token: ${{ secrets.GITHUB_TOKEN }} - - name: Run vcs import - run: | - mkdir src - vcs import src < autoware.repos - - name: Build 'Autoware' if: steps.author-check.outputs.author-found == 'true' || ${{ github.event_name == 'workflow_dispatch' }} uses: ./.github/actions/docker-build-and-push with: bake-target: autoware build-args: | - *.platform=linux/amd64 + *.platform=linux/${{ matrix.platform }} *.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 }}-amd64 - *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-amd64,mode=max + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-${{ matrix.platform }} + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-${{ matrix.name }}-${{ matrix.platform }},mode=max tag-suffix: ${{ matrix.additional-tag-suffix }}-amd64 tag-prefix: ${{ needs.load-env.outputs.rosdistro }} allow-push: true diff --git a/ansible/roles/artifacts/tasks/main.yaml b/ansible/roles/artifacts/tasks/main.yaml index b4ba47e673e..54efaaea341 100644 --- a/ansible/roles/artifacts/tasks/main.yaml +++ b/ansible/roles/artifacts/tasks/main.yaml @@ -158,6 +158,38 @@ dest: "{{ data_dir }}/lidar_centerpoint/deploy_metadata.yaml" mode: "644" checksum: sha256:152536f053c3750b60d349800e1b983b418029d6dadf087614a00c661942a178 + +# lidar_transfusion +- name: Create lidar_transfusion directory inside {{ data_dir }} + ansible.builtin.file: + path: "{{ data_dir }}/lidar_transfusion" + mode: "755" + state: directory + +- name: Download lidar_transfusion/transfusion.onnx + become: true + ansible.builtin.get_url: + url: https://awf.ml.dev.web.auto/perception/models/transfusion/v1/transfusion.onnx + dest: "{{ data_dir }}/lidar_transfusion/transfusion.onnx" + mode: "644" + checksum: sha256:8938999cf03770ffd3301027300ea2cbcf471c180450e0434121d7294c42aa0b + +- name: Download lidar_transfusion/transfusion.param.yaml + become: true + ansible.builtin.get_url: + url: https://awf.ml.dev.web.auto/perception/models/transfusion/v1/transfusion.param.yaml + dest: "{{ data_dir }}/lidar_transfusion/transfusion.param.yaml" + mode: "644" + checksum: sha256:0e18776040f14e380037ef6ecb500d1d1d151f21ff7d5c890606673f7e100e14 + +- name: Download lidar_transfusion/detection_class_remapper.param.yaml + become: true + ansible.builtin.get_url: + url: https://awf.ml.dev.web.auto/perception/models/transfusion/v1/detection_class_remapper.param.yaml + dest: "{{ data_dir }}/lidar_transfusion/detection_class_remapper.param.yaml" + mode: "644" + checksum: sha256:c711f8875ece9b527dfe31ffc75f8c0de2e77945ef67860a959a4e04c36772d5 + # tensorrt_yolox - name: Create tensorrt_yolox directory inside {{ data_dir }} ansible.builtin.file: diff --git a/ansible/roles/dev_tools/tasks/main.yaml b/ansible/roles/dev_tools/tasks/main.yaml index 2a11dd7ffc6..1a7d3c6511a 100644 --- a/ansible/roles/dev_tools/tasks/main.yaml +++ b/ansible/roles/dev_tools/tasks/main.yaml @@ -37,6 +37,11 @@ state: latest update_cache: true +- name: Hold check of ros-{{ rosdistro + '-plotjuggler-ros' }} + ansible.builtin.command: apt-mark showhold + register: held_ros_packages + changed_when: false + - name: Install plotjuggler become: true ansible.builtin.apt: @@ -44,3 +49,11 @@ - ros-{{ rosdistro }}-plotjuggler-ros state: latest update_cache: true + when: "'ros-' + rosdistro + '-plotjuggler-ros' not in held_ros_packages.stdout" + register: install_result + failed_when: false + +- name: Display warning if plotjuggler-ros package is held + ansible.builtin.debug: + msg: ROS package 'ros-{{ rosdistro }}-plotjuggler-ros' is apt-mark hold. Skipping installation. + when: not install_result.changed diff --git a/docker/Dockerfile b/docker/Dockerfile index 3f0a53c0a84..d97b55c8cdd 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -90,11 +90,11 @@ RUN --mount=type=ssh \ COPY --from=src-imported /autoware/src /autoware/src RUN --mount=type=cache,target=${CCACHE_DIR} \ source /opt/ros/"$ROS_DISTRO"/setup.bash \ - && colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --cmake-args \ - " -Wno-dev" \ - " --no-warn-unused-cli" \ + && colcon build --cmake-args \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + " -Wno-dev" \ + " --no-warn-unused-cli" \ && find /autoware/install -type d -exec chmod 777 {} \; \ && chmod -R 777 /var/tmp/ccache \ && rm -rf /autoware/build /autoware/src diff --git a/simulator.repos b/simulator.repos index dd3551eb56b..30e005c4f0c 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: master + version: RJD-736/autoware_msgs_support # TODO(mitsudome-r): switch back to master once this branch is merged