Conversation
not sure if this is the right way of doing this or not
As we are running at the previous container out as the standard user and not root
There was a problem hiding this comment.
Pull request overview
This PR updates the ROS/ROS+CUDA Docker images to include Cyclone DDS support and attempts to make Cyclone DDS the default RMW implementation via image configuration.
Changes:
- Add a Cyclone DDS XML config and copy it into built images.
- Install
ros-${ROS_DISTRO}-rmw-cyclonedds-cppin the base and CUDA images and set Cyclone-related runtime configuration. - Update the GitHub Actions build workflow (base image tag update; pull base image step).
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
docker/cyclonedds.xml |
Adds a Cyclone DDS runtime configuration file intended to be used by the images. |
base.dockerfile |
Installs Cyclone RMW package, copies Cyclone config, and configures shell startup behavior. |
cuda.dockerfile |
Installs Cyclone RMW package, copies Cyclone config, and configures shell startup behavior for CUDA images. |
cuda_desktop.dockerfile |
Updates base image default and uses sudo for desktop package installation on top of the CUDA base image. |
.github/workflows/_build-image.yaml |
Adds an explicit base-image pull step before building. |
.github/workflows/docker-build-and-push.yaml |
Minor workflow input formatting + updates the CUDA Jazzy base image tag. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds Cyclone DDS support and makes it the default RMW implementation in the provided ROS(-CUDA) container images, including a bundled CycloneDDS configuration and CI build updates.
Changes:
- Install
ros-${ROS_DISTRO}-rmw-cyclonedds-cppand setRMW_IMPLEMENTATION/CYCLONEDDS_URIdefaults in the base and CUDA images. - Add a Cyclone DDS XML config and copy it into the images.
- Update GitHub Actions Docker build workflow (base image version bump + explicit base-image pull).
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
docker/cyclonedds.xml |
Adds a default CycloneDDS configuration file. |
base.dockerfile |
Installs Cyclone RMW, copies config, sets env defaults, and switches to non-root user. |
cuda.dockerfile |
Installs Cyclone RMW, copies config, sets env defaults, and switches to non-root user. |
cuda_desktop.dockerfile |
Adjusts build defaults and uses sudo for package installation in the desktop variant. |
.github/workflows/docker-build-and-push.yaml |
Updates workflow inputs (incl. Jazzy CUDA base image tag). |
.github/workflows/_build-image.yaml |
Adds a step to pre-pull the selected base image before building. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This is a PR to add Cyclone DDS as the main ROS middleware and focus on adding that and making it work well. The following text below is a Copilot generated summary of the changes, that have been reviewed for accuracy.
This was developed during some downtime on the self-hosted LCAS runners which led to some troubleshooting which have implemented extra changes which should improve the containers as a whole.
This pull request introduces several improvements to the Docker build workflow and base images for ROS2 with CUDA support. The main focus is on adding Cyclone DDS configuration, updating the CUDA base image, and enhancing the Dockerfiles for better reproducibility and ROS2 middleware support.
Enhancements to ROS2 and CUDA Docker images:
Cyclone DDS integration:
ros-${ROS_DISTRO}-rmw-cyclonedds-cppin bothbase.dockerfileandcuda.dockerfile, along with copying the newcyclonedds.xmlconfiguration file and setting relevant environment variables (RMW_IMPLEMENTATION,CYCLONEDDS_URI). [1] [2] [3] [4] [5]docker/cyclonedds.xmlto enable multicast and auto participant indexing.Docker image build workflow updates:
nvidia/cuda:12.9.1-runtime-ubuntu24.04for improved compatibility and performance.General improvements and fixes:
Enhanced package installation:
ca-certificates,gnupg,wget) and switched to--no-install-recommendsfor leaner images in bothbase.dockerfileandcuda.dockerfile. [1] [2]LANGis set toen_US.UTF-8. [1] [2]User and bash profile configuration:
Desktop image improvements:
cuda_desktop.dockerfileand switched to usingsudofor package installation.These changes collectively improve the robustness, security, and ROS2 middleware support of the Docker images and workflows.