Skip to content

Commit 533f3ea

Browse files
DDS data publication implementation (#5)
* DDS data publication implementation Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Skip null JSON elements Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Resolve conflicts Signed-off-by: Eugenio Collado <eugeniocollado@eprosima.com> * Overload create_dds_enabler with configuration Signed-off-by: Eugenio Collado <eugeniocollado@eprosima.com> * Fix tests Signed-off-by: Eugenio Collado <eugeniocollado@eprosima.com> * Use CDRv1 when serializing data to be published Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Rebase fixes and updates Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * TMP: use custom artifact in CI Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Store DomainParticipantFactory reference in DDSEnabler objects Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Change unique_ptr to shared_ptr in create_dds_enabler Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Tackle pending TODOs Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Uncrustify all Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Fix Windows compilation Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Disable tests for unsupported optional types Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Refactor participant tests Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Rename request callbacks to query Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Add publish Docker tests Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Compile example in CI Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Polish public API and export missing Dlls Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Remove nlohmann JSON include in headers Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Uncrustify Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Add missing doxygen of public API Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Apply suggestions Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Add .gitignore Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Apply pending suggestion Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Remove use of designated initializers (Windows...) Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Super NIT Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> * Pull ROS 2 image before running tests Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> --------- Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com> Signed-off-by: Eugenio Collado <eugeniocollado@eprosima.com> Co-authored-by: Eugenio Collado <eugeniocollado@eprosima.com>
1 parent 18efa2d commit 533f3ea

88 files changed

Lines changed: 8508 additions & 1049 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/docker-reusable-workflow.yml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,21 @@ jobs:
8282
-t ${{ env.DDSENABLER_COMPOSE_TEST_DOCKER_IMAGE }} \
8383
-f Dockerfile .
8484
85-
# Check Docker images exist
86-
- name: Check if Docker images exist
85+
# Check DDS Enabler Docker images exist
86+
- name: Check if DDS Enabler Docker images exist
8787
run: |
88-
[ -n "$(docker images -q ${{ env.DDSENABLER_COMPOSE_TEST_DOCKER_IMAGE }})" ] || echo "DDS Enabler Docker image does not exists"
88+
[ -n "$(docker images -q ${{ env.DDSENABLER_COMPOSE_TEST_DOCKER_IMAGE }})" ] || echo "DDS Enabler Docker image does not exist"
89+
90+
# Pull ROS 2 Docker image
91+
- name: Pull ROS 2 Docker image
92+
run: |
93+
docker image pull \
94+
${{ env.DDSENABLER_COMPOSE_TEST_ROS2_DOCKER_IMAGE }}
95+
96+
# Check ROS 2 Docker images exist
97+
- name: Check if ROS 2 Docker images exist
98+
run: |
99+
[ -n "$(docker images -q ${{ env.DDSENABLER_COMPOSE_TEST_ROS2_DOCKER_IMAGE }})" ] || echo "ROS 2 Docker image does not exist"
89100
90101
- name: Download dependencies and install requirements
91102
uses: ./src/.github/actions/project_dependencies

.github/workflows/reusable-workflow.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
uses: eProsima/eProsima-CI/multiplatform/colcon_build_test@main
7373
with:
7474
packages_names: ${{ env.code_packages_names }}
75-
cmake_args: -DBUILD_TESTS=ON -DCMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }}
75+
cmake_args: -DBUILD_TESTS=ON -DCMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} -DCOMPILE_EXAMPLES=ON
7676
workspace_dependencies: install
7777
ctest_args: --label-exclude "xfail"
7878
colcon_meta_file: src/.github/workflows/configurations/${{ runner.os }}/colcon.meta

.github/workflows/test.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ on:
3838
dependencies_artifact_postfix:
3939
description: 'Postfix name to add to artifact name to download dependencies. This is use to download a specific artifact version from eProsima-CI.'
4040
required: true
41-
default: '_nightly'
41+
default: '_ddsenabler'
4242

4343
pull_request:
4444
push:
@@ -51,15 +51,15 @@ jobs:
5151
name: reusable_tests
5252
uses: ./.github/workflows/reusable-ubuntu-ci.yml
5353
with:
54-
dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix || '_nightly' }}
54+
dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix || '_ddsenabler' }}
5555
ref: ${{ github.ref }}
5656
secrets: inherit
5757

5858
reusable_tests_windows:
5959
name: reusable_tests
6060
uses: ./.github/workflows/reusable-windows-ci.yml
6161
with:
62-
dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix || '_nightly' }}
62+
dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix || '_ddsenabler' }}
6363
ref: ${{ github.ref }}
6464
secrets: inherit
6565

@@ -72,6 +72,6 @@ jobs:
7272
devutils_branch: ${{ inputs.devutils_branch || 'main' }}
7373
ddspipe_branch: ${{ inputs.ddspipe_branch || 'main' }}
7474
ddsenabler_branch: ${{ inputs.ddsenabler_branch || github.head_ref || github.ref_name }}
75-
dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix || '_nightly' }}
75+
dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix || '_ddsenabler' }}
7676
ref: ${{ github.ref }}
7777
secrets: inherit

.gitignore

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
2+
### C++ ###
3+
# Prerequisites
4+
*.d
5+
6+
# Compiled Object files
7+
*.slo
8+
*.lo
9+
*.o
10+
*.obj
11+
12+
# Precompiled Headers
13+
*.gch
14+
*.pch
15+
16+
# Compiled Dynamic libraries
17+
*.so
18+
*.dylib
19+
*.dll
20+
21+
# Fortran module files
22+
*.mod
23+
*.smod
24+
25+
# Compiled Static libraries
26+
*.lai
27+
*.la
28+
*.a
29+
*.lib
30+
31+
# Executables
32+
*.exe
33+
*.out
34+
*.app
35+
36+
### Vim ###
37+
# swap
38+
[._]*.s[a-w][a-z]
39+
[._]s[a-w][a-z]
40+
# session
41+
Session.vim
42+
# temporary
43+
.netrwhist
44+
*~
45+
# auto-generated tag files
46+
tags
47+
48+
build/
49+
install/
50+
log/
51+
52+
### Visual Studio ###
53+
.vs
54+
55+
### Visual Studio Code ###
56+
.vscode
57+
58+
### Documentation ###
59+
docs/rst/_static/css/online_eprosima_rtd_theme.css
60+
61+
62+
### Python ###
63+
# Precompile files
64+
__pycache__

ddsenabler/DDS_ENABLER_CONFIGURATION.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
}
2424
]
2525
},
26-
"ddsenabler": null,
26+
"ddsenabler": {
27+
"initial-publish-wait": 500
28+
},
2729
"specs": {
2830
"threads": 12,
2931
"logging": {

ddsenabler/DDS_ENABLER_CONFIGURATION.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ dds:
1313

1414
# DDS Enabler configuration
1515
ddsenabler:
16+
initial-publish-wait: 500
1617

1718
#Specs configuration
1819
specs:

0 commit comments

Comments
 (0)