Skip to content
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

Add Fast DDS CI job #12

Merged
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
16 changes: 14 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,23 @@ on:
workflow_dispatch:

jobs:
build-ubuntu:
build-ubuntu-cyclone-dds:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: sudo apt update && sudo apt install -y libacl1-dev libncurses5-dev
- name: Build
run: cmake -DBUILD_TEST=ON -B build && cmake --build build -- -j$(nproc) && ./build/dds_gateway/test/dds_gateway_moduletests
run: cmake -Bbuild -DBUILD_TEST=ON -DDDS_STACK=CYCLONE_DDS && cmake --build build -- -j$(nproc)
- name: Module tests
run: ./build/dds_gateway/test/dds_gateway_moduletests
build-ubuntu-fast-dds:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: sudo apt update && sudo apt install -y libacl1-dev libncurses5-dev
- name: Build
run: cmake -Bbuild -DBUILD_TEST=ON -DDDS_STACK=FAST_DDS && cmake --build build -- -j$(nproc)
- name: Module tests
run: LD_LIBRARY_PATH=./build/dependencies/install/lib ./build/dds_gateway/test/dds_gateway_moduletests
4 changes: 4 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@ if(${DDS_STACK} STREQUAL "CYCLONE_DDS")
elseif(${DDS_STACK} STREQUAL "FAST_DDS")
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/cmake/fastdds ${CMAKE_BINARY_DIR}/dependencies/fastdds/prebuild)
message(INFO " Using FastDDS stack")
find_package(fastcdr CONFIG REQUIRED)
find_package(foonathan_memory CONFIG REQUIRED)
find_package(fastrtps CONFIG REQUIRED)
endif()

Expand Down Expand Up @@ -207,6 +209,8 @@ elseif(${DDS_STACK} STREQUAL "FAST_DDS")
target_link_libraries(iceoryx_dds
PUBLIC
fastrtps
fastcdr
foonathan_memory
iceoryx_hoofs::iceoryx_hoofs
)
endif()
Expand Down
11 changes: 4 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,8 @@ sudo apt install cmake bison
You can use the standard iceoryx cmake build approach with an activated `-DDDS_STACK=CYCLONE_DDS`
or `-DDDS_STACK=FAST_DDS` switch.
```sh
cmake -Bbuild -DBUILD_TEST=ON -DDDS_STACK=CYCLONE_DDS # DDDS_STACK=FAST_DDS
cd build
make
cmake -Bbuild -DBUILD_TEST=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DDDS_STACK=CYCLONE_DDS # -DDDS_STACK=FAST_DDS
elBoberido marked this conversation as resolved.
Show resolved Hide resolved
elBoberido marked this conversation as resolved.
Show resolved Hide resolved
cmake --build build -- -j$(nproc)
```

# Usage
Expand All @@ -54,8 +53,8 @@ In this example we would like to offer or subscribe to the two services
and to one service `larry_robotics.SystemMonitor.larry_info` from our
[larry demonstrator](https://gitlab.com/larry.robotics/larry.robotics).

## Running icedelivery via CycloneDDS
We can use CycloneDDS to run our [icedelivery example](../iceoryx_examples/icedelivery)
## Running icedelivery via CycloneDDS or FastDDS
We can use CycloneDDS or FastDDS to run our [icedelivery example](../iceoryx_examples/icedelivery)
via a local area network. First we have to adjust the gateway configuration file
in `/etc/iceoryx/gateway_config.toml` and have to add the publisher service description
from our example.
Expand Down Expand Up @@ -95,5 +94,3 @@ e.g.
```bash
$INSTALL_DIR/bin/iox-dds-gateway
```


2 changes: 1 addition & 1 deletion cmake/fastdds/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,6 @@ endfunction()

cmake_fetch_and_install(foonathan_memory_vendor -DBUILD_SHARED_LIBS=ON)
cmake_fetch_and_install(fastcdr)
cmake_fetch_and_install(fastdds)
cmake_fetch_and_install(fastdds -DTHIRDPARTY=ON)

gradlew_fetch_and_install(fastddsgen)
2 changes: 1 addition & 1 deletion cmake/fastdds/fastdds.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ project(fastdds-download NONE)
include(ExternalProject)
ExternalProject_Add(ext_fastdds
GIT_REPOSITORY https://github.com/eProsima/Fast-DDS.git
GIT_TAG 8876ee2e8b4ddea09ac38712c4d68476b90ebb61 # Tag v2.10.5
GIT_TAG e3fde250a75f9ea197c5901db1f8caf0b8e7526a # Tag v2.10.6
elBoberido marked this conversation as resolved.
Show resolved Hide resolved
SOURCE_DIR "${CMAKE_BINARY_DIR}/dependencies/fastdds/src"
BINARY_DIR "${CMAKE_BINARY_DIR}/dependencies/fastdds/build"
CONFIGURE_COMMAND ""
Expand Down
Loading