Skip to content
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
38 changes: 38 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Build and test
"on":
pull_request:
push:
branches:
- kilted-rmw-wrapper

jobs:
build_and_test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- ros: kilted
ubuntu: noble
name: ROS 2 ${{ matrix.ros }}
container:
image: ghcr.io/ros-tooling/setup-ros-docker/setup-ros-docker-ubuntu-${{ matrix.ubuntu }}:latest
env:
ROS_DISTRO: ${{ matrix.ros }}
RMW_IMPLEMENTATION: rmw_cyclonedds_cpp
RMW_IMPLEMENTATION_WRAPPER: rmw_stats_shim
DISABLE_GROUPS_WORKAROUND: 1
steps:
- uses: actions/checkout@v4
- shell: bash
run: |
apt-get update && apt-get install -y -q --no-install-recommends ros-${{ matrix.ros }}-rmw-cyclonedds-cpp
- uses: ros-tooling/action-ros-ci@v0.4
with:
target-ros2-distro: ${{ matrix.ros }}
package-name: rmw_implementation test_rmw_implementation
- uses: actions/upload-artifact@v4
with:
name: colcon-logs-${{ matrix.ros }}
path: ros_ws/log
37 changes: 37 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# RMW Implementation Fork for RMW Wrapper

This repository is a fork of https://github.com/ros2/rmw_implementation , maintained to provide an extra feature of a `RMW_IMPLEMENTATION_WRAPPER` shim library that can be loaded in addition to the `RMW_IMPLEMENTATION` (DDS, etc.).

This enables e.g. the https://github.com/ros-tooling/graph-monitor/tree/main/rmw_stats_shim to intercept calls to RMW and provide statistics about every node/subscription/publisher in the system.


## Development

1. All live rosdistros are supported
1. Branches are called `${ROS_DISTRO}-rmw-wrapper`
2. As few modifications are added here as possible
3. All changes here are backported to all live distros
4. Upstream branches are periodically merged in


### Updating to latest from upstream

Get sources set up

```bash
git clone https://github.com/robograph-project/rmw_implementation
cd rmw_implementation
git remote add ros2 https://github.com/ros2/rmw_implementation
```

Merge in latest and open PR

```bash
git checkout ${ROS_DISTRO}-rmw-wrapper
git checkout -b ${ROS_DISTRO}-merge-latest
git fetch ros2
git merge ros2/${ROS_DISTRO}
# push that branch and open PR
```

Perform for every distro.