Skip to content

feat(repos): re-introduce agnocast #6049

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Apr 22, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ansible/playbooks/universe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
- role: autoware.dev_env.rmw_implementation
- role: autoware.dev_env.gdown
- role: autoware.dev_env.build_tools
- role: autoware.dev_env.agnocast

# Autoware module dependencies
- role: autoware.dev_env.geographiclib
Expand Down
27 changes: 27 additions & 0 deletions ansible/roles/agnocast/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# agnocast

This role installs [Agnocast](https://github.com/tier4/agnocast), true zero-copy communication middleware for all ROS 2 message types.

## Inputs

None.

## Manual Installation

```bash
agnocast_version="2.1.0"
agnocast_heaphook_package="agnocast-heaphook-v${agnocast_version}"
agnocast_kmod_package="agnocast-kmod-v${agnocast_version}"

sudo add-apt-repository -y ppa:t4-system-software/agnocast
sudo apt update
sudo apt install -y "${agnocast_heaphook_package}"

if dkms status | grep agnocast | grep -q "{agnocast_version}"; then
echo "agnocast-kmod-v${agnocast_version} is already registered in dkms. Skipping purge and install."
else
sudo apt purge -y "${agnocast_kmod_package}"
sudo apt install -y "${agnocast_kmod_package}"
fi

```
3 changes: 3 additions & 0 deletions ansible/roles/agnocast/defaults/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
agnocast_version: 2.1.0
agnocast_heaphook_package: agnocast-heaphook-v{{ agnocast_version }}
agnocast_kmod_package: agnocast-kmod-v{{ agnocast_version }}
Empty file.
42 changes: 42 additions & 0 deletions ansible/roles/agnocast/tasks/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
- name: Install linux headers for the running kernel
ansible.builtin.apt:
name: linux-headers-{{ ansible_kernel }}
state: present
become: true

- name: Add agnocast PPA repository
ansible.builtin.apt_repository:
repo: ppa:t4-system-software/agnocast
state: present
become: true

- name: Update apt cache
ansible.builtin.apt:
update_cache: true
become: true

- name: Install {{ agnocast_heaphook_package }}
ansible.builtin.apt:
name: "{{ agnocast_heaphook_package }}"
state: present
become: true

- name: Check if agnocast-kmod is installed in dkms with version v{{ agnocast_version }}
ansible.builtin.shell: dkms status | grep agnocast | grep {{ agnocast_version }} # noqa: risky-shell-pipe
register: dkms_status
failed_when: false
changed_when: false

- name: Purge agnocast-kmod if not found in dkms for version v{{ agnocast_version }}
ansible.builtin.apt:
name: "{{ agnocast_kmod_package }}"
state: absent
become: true
when: dkms_status.rc != 0

- name: Install agnocast-kmod if not found in dkms for version v{{ agnocast_version }}
ansible.builtin.apt:
name: "{{ agnocast_kmod_package }}"
state: present
become: true
when: dkms_status.rc != 0
9 changes: 9 additions & 0 deletions autoware.repos
Original file line number Diff line number Diff line change
Expand Up @@ -116,3 +116,12 @@ repositories:
type: git
url: https://github.com/autowarefoundation/autoware_individual_params.git
version: 70000825155182d9261ce0980076b0e2c6dc3f51
# middleware
# TODO(TIER IV): During the transition period of Agnocast introduction,
# the Agnocast ROS packages are provided as a source build.
# Once the transition stabilizes, use the packages released from the official ROS repository.
# Issue: https://github.com/autowarefoundation/autoware/issues/5968
middleware/external/agnocast:
type: git
url: https://github.com/tier4/agnocast.git
version: 2.1.0
2 changes: 2 additions & 0 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
ARG AUTOWARE_BASE_CUDA_IMAGE

# hadolint ignore=DL3006
FROM $AUTOWARE_BASE_IMAGE AS rosdep-depend

Check warning on line 5 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 5 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main-arm64)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 5 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (nightly)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG ROS_DISTRO

Expand Down Expand Up @@ -48,6 +48,7 @@
# trt_batched_nms depends on autoware_tensorrt_common and autoware_cuda_utils, which are not available in universe-common-devel stage
RUN rm -rf /autoware/src/universe/external/trt_batched_nms
COPY src/universe/autoware_universe/common /autoware/src/universe/autoware_universe/common
COPY src/middleware/external /autoware/src/middleware/external
RUN /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \
> /rosdep-universe-common-depend-packages.txt \
&& cat /rosdep-universe-common-depend-packages.txt
Expand Down Expand Up @@ -155,7 +156,7 @@
&& cat /rosdep-exec-depend-packages.txt

# hadolint ignore=DL3006
FROM $AUTOWARE_BASE_IMAGE AS core-common-devel

Check warning on line 159 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 159 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main-arm64)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 159 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (nightly)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG ROS_DISTRO
ENV CCACHE_DIR="/root/.ccache"
Expand Down Expand Up @@ -240,6 +241,7 @@
--mount=type=bind,source=src/universe/external/rtklib_ros_bridge,target=/autoware/src/universe/external/rtklib_ros_bridge \
--mount=type=bind,source=src/universe/external/tier4_ad_api_adaptor,target=/autoware/src/universe/external/tier4_ad_api_adaptor \
--mount=type=bind,source=src/universe/external/tier4_autoware_msgs,target=/autoware/src/universe/external/tier4_autoware_msgs \
--mount=type=bind,source=src/middleware/external,target=/autoware/src/middleware/external \
source /opt/ros/"$ROS_DISTRO"/setup.bash \
&& source /opt/autoware/setup.bash \
&& /autoware/build_and_clean.sh ${CCACHE_DIR} /opt/autoware
Expand Down Expand Up @@ -487,7 +489,7 @@
CMD ["/bin/bash"]

# hadolint ignore=DL3006
FROM $AUTOWARE_BASE_IMAGE AS core

Check warning on line 492 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 492 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main-arm64)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 492 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (nightly)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG ROS_DISTRO
ARG LIB_DIR
Expand All @@ -513,7 +515,7 @@
CMD ["/bin/bash"]

# hadolint ignore=DL3006
FROM $AUTOWARE_BASE_IMAGE AS universe-sensing-perception

Check warning on line 518 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 518 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main-arm64)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 518 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (nightly)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG ROS_DISTRO
ARG LIB_DIR
Expand All @@ -539,7 +541,7 @@
CMD ["/bin/bash"]

# hadolint ignore=DL3006
FROM $AUTOWARE_BASE_CUDA_IMAGE AS universe-sensing-perception-cuda

Check warning on line 544 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main-arm64)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_CUDA_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 544 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (nightly)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_CUDA_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG ROS_DISTRO
ARG LIB_DIR
Expand All @@ -561,7 +563,7 @@
CMD ["/bin/bash"]

# hadolint ignore=DL3006
FROM $AUTOWARE_BASE_IMAGE AS universe-localization-mapping

Check warning on line 566 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 566 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main-arm64)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 566 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (nightly)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG ROS_DISTRO
ARG LIB_DIR
Expand All @@ -587,7 +589,7 @@
CMD ["/bin/bash"]

# hadolint ignore=DL3006
FROM $AUTOWARE_BASE_IMAGE AS universe-planning-control

Check warning on line 592 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 592 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (nightly)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG ROS_DISTRO
ARG LIB_DIR
Expand All @@ -613,7 +615,7 @@
CMD ["/bin/bash"]

# hadolint ignore=DL3006
FROM $AUTOWARE_BASE_IMAGE AS universe-vehicle-system

Check warning on line 618 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 618 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main-arm64)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG ROS_DISTRO
ARG LIB_DIR
Expand All @@ -639,7 +641,7 @@
CMD ["/bin/bash"]

# hadolint ignore=DL3006
FROM $AUTOWARE_BASE_IMAGE AS universe-visualization

Check warning on line 644 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 644 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main-arm64)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 644 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (nightly)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG ROS_DISTRO
ARG LIB_DIR
Expand All @@ -665,7 +667,7 @@
CMD ["/bin/bash"]

# hadolint ignore=DL3006
FROM $AUTOWARE_BASE_IMAGE AS universe

Check warning on line 670 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 670 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main-arm64)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 670 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (nightly)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG ROS_DISTRO
ARG LIB_DIR
Expand All @@ -691,7 +693,7 @@
CMD ["/bin/bash"]

# hadolint ignore=DL3006
FROM $AUTOWARE_BASE_CUDA_IMAGE AS universe-cuda

Check warning on line 696 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_CUDA_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 696 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (main-arm64)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_CUDA_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 696 in docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-build (nightly)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $AUTOWARE_BASE_CUDA_IMAGE results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ARG ROS_DISTRO
ARG LIB_DIR
Expand Down
1 change: 1 addition & 0 deletions docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ This stage installs the dependency packages based on `/rosdep-universe-common-de

- `universe/external`
- `universe/autoware_universe/common`
- `middleware/external`

### `universe-common-devel-cuda`

Expand Down
Loading