From b487c331f72bce9eba148be02239275ad02599b6 Mon Sep 17 00:00:00 2001 From: Stefan Kimmer Date: Wed, 26 Nov 2025 09:51:39 +0100 Subject: [PATCH 01/13] use matrix strategy --- .../1_run_interoperability_tests.yml | 355 +++--------------- 1 file changed, 49 insertions(+), 306 deletions(-) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index e3e9cc36..12371bf9 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -14,327 +14,70 @@ jobs: name: timestamp path: | ./timestamp - connext_dds: + + run_tests: runs-on: ubuntu-latest needs: generate_timestamp + strategy: + matrix: + publisher: [connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] + subscriber: [connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] + steps: - - name: Checkout - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.11.4' - - name: Download artifact - uses: actions/download-artifact@v4 - with: - name: timestamp - - name: Downloads assets - uses: robinraju/release-downloader@v1.10 - with: - latest: true - fileName: "*" - - name: Unzip - run: unzip '*.zip' -d executables - - name: Setting up environment - run: | - python3 -m venv .venv - source .venv/bin/activate - pip install -r requirements.txt - - name: Run Interoperability script - # The test descriptions used are the generated for the last execution. - # This shouldn't be an issue because all test are run always - run: | - source .venv/bin/activate - cd executables - for publisher in connext_dds-* ; do \ - for subscriber in * ; do \ - echo "Testing Publisher $publisher --- Subscriber $subscriber"; \ - python3 ./../interoperability_report.py -P ./$publisher -S ./$subscriber -o=./../junit_interoperability_report.xml; \ - if [ -d "./OpenDDS-durable-data-dir" ]; then \ - echo Deleting OpenDDS-durable-data-dir; \ - rm -rf ./OpenDDS-durable-data-dir; \ - fi; \ - done \ - done - - name: Attach the report - if: always() - uses: actions/upload-artifact@v4 - with: - name: interoperability_report_connext_dds - path: | - ./junit_interoperability_report.xml - ./timestamp - dust_dds: - runs-on: ubuntu-latest - needs: connext_dds - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Download artifact - uses: actions/download-artifact@v4 - with: - name: interoperability_report_connext_dds - - uses: actions/setup-python@v5 - with: - python-version: '3.11.4' - - name: Downloads assets - uses: robinraju/release-downloader@v1.10 - with: - latest: true - fileName: "*" - - name: Unzip - run: unzip '*.zip' -d executables - - name: Setting up environment - run: | - python3 -m venv .venv - source .venv/bin/activate - pip install -r requirements.txt - - name: Run Interoperability script - # The test descriptions used are the generated for the last execution. - # This shouldn't be an issue because all test are run always - run: | - source .venv/bin/activate - cd executables - for publisher in dust_dds-* ; do \ - for subscriber in * ; do \ - echo "Testing Publisher $publisher --- Subscriber $subscriber"; \ - python3 ./../interoperability_report.py -P ./$publisher -S ./$subscriber -o=./../junit_interoperability_report.xml; \ - if [ -d "./OpenDDS-durable-data-dir" ]; then \ - echo Deleting OpenDDS-durable-data-dir; \ - rm -rf ./OpenDDS-durable-data-dir; \ - fi; \ - done \ - done - - name: Attach the report - if: always() - uses: actions/upload-artifact@v4 - with: - name: interoperability_report_dust_dds - path: | - ./junit_interoperability_report.xml - ./timestamp - eprosima_fastdds: - runs-on: ubuntu-latest - needs: dust_dds - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Download artifact - uses: actions/download-artifact@v4 - with: - name: interoperability_report_dust_dds - - uses: actions/setup-python@v5 - with: - python-version: '3.11.4' - - name: Downloads assets - uses: robinraju/release-downloader@v1.10 - with: - latest: true - fileName: "*" - - name: Unzip - run: unzip '*.zip' -d executables - - name: Setting up environment - run: | - python3 -m venv .venv - source .venv/bin/activate - pip install -r requirements.txt - - name: Run Interoperability script - # The test descriptions used are the generated for the last execution. - # This shouldn't be an issue because all test are run always - run: | - source .venv/bin/activate - cd executables - for publisher in eprosima_fastdds-* ; do \ - for subscriber in * ; do \ - echo "Testing Publisher $publisher --- Subscriber $subscriber"; \ - python3 ./../interoperability_report.py -P ./$publisher -S ./$subscriber -o=./../junit_interoperability_report.xml; \ - if [ -d "./OpenDDS-durable-data-dir" ]; then \ - echo Deleting OpenDDS-durable-data-dir; \ - rm -rf ./OpenDDS-durable-data-dir; \ - fi; \ - done \ - done - - name: Attach the report - if: always() - uses: actions/upload-artifact@v4 - with: - name: interoperability_report_eprosima_fastdds - path: | - ./junit_interoperability_report.xml - ./timestamp - intercom_dds: - runs-on: ubuntu-latest - needs: eprosima_fastdds - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Download artifact - uses: actions/download-artifact@v4 - with: - name: interoperability_report_eprosima_fastdds - - uses: actions/setup-python@v5 - with: - python-version: '3.11.4' - - name: Downloads assets - uses: robinraju/release-downloader@v1.10 - with: - latest: true - fileName: "*" - - name: Unzip - run: unzip '*.zip' -d executables - - name: Setting up environment - run: | - python3 -m venv .venv - source .venv/bin/activate - pip install -r requirements.txt - - name: Run Interoperability script - # The test descriptions used are the generated for the last execution. - # This shouldn't be an issue because all test are run always - run: | - source .venv/bin/activate - cd executables - for publisher in intercom_dds-* ; do \ - for subscriber in * ; do \ - echo "Testing Publisher $publisher --- Subscriber $subscriber"; \ - python3 ./../interoperability_report.py -P ./$publisher -S ./$subscriber -o=./../junit_interoperability_report.xml; \ - if [ -d "./OpenDDS-durable-data-dir" ]; then \ - echo Deleting OpenDDS-durable-data-dir; \ - rm -rf ./OpenDDS-durable-data-dir; \ - fi; \ - done \ - done - - name: Attach the report - if: always() - uses: actions/upload-artifact@v4 - with: - name: interoperability_report_intercom_dds - path: | - ./junit_interoperability_report.xml - ./timestamp - opendds: - runs-on: ubuntu-latest - needs: intercom_dds - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Download artifact - uses: actions/download-artifact@v4 - with: - name: interoperability_report_intercom_dds - - uses: actions/setup-python@v5 - with: - python-version: '3.11.4' - - name: Downloads assets - uses: robinraju/release-downloader@v1.10 - with: - latest: true - fileName: "*" - - name: Unzip - run: unzip '*.zip' -d executables - - name: Setting up environment - run: | - python3 -m venv .venv - source .venv/bin/activate - pip install -r requirements.txt - - name: Run Interoperability script - # The test descriptions used are the generated for the last execution. - # This shouldn't be an issue because all test are run always - run: | - source .venv/bin/activate - cd executables - for publisher in opendds-* ; do \ - for subscriber in * ; do \ - echo "Testing Publisher $publisher --- Subscriber $subscriber"; \ - python3 ./../interoperability_report.py -P ./$publisher -S ./$subscriber -o=./../junit_interoperability_report.xml; \ - if [ -d "./OpenDDS-durable-data-dir" ]; then \ - echo Deleting OpenDDS-durable-data-dir; \ - rm -rf ./OpenDDS-durable-data-dir; \ - fi; \ - done \ - done - - name: Attach the report - if: always() - uses: actions/upload-artifact@v4 - with: - name: interoperability_report_opendds - path: | - ./junit_interoperability_report.xml - ./timestamp - toc_coredx_dds: - runs-on: ubuntu-latest - needs: opendds - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Download artifact - uses: actions/download-artifact@v4 - with: - name: interoperability_report_opendds - - uses: actions/setup-python@v5 - with: - python-version: '3.11.4' - - name: Downloads assets - uses: robinraju/release-downloader@v1.10 - with: - latest: true - fileName: "*" - - name: Unzip - run: unzip '*.zip' -d executables - - name: Setting up environment - run: | - python3 -m venv .venv - source .venv/bin/activate - pip install -r requirements.txt - - name: Run Interoperability script - # The test descriptions used are the generated for the last execution. - # This shouldn't be an issue because all test are run always - run: | - source .venv/bin/activate - cd executables - for publisher in toc_coredx_dds-* ; do \ - for subscriber in * ; do \ - echo "Testing Publisher $publisher --- Subscriber $subscriber"; \ - python3 ./../interoperability_report.py -P ./$publisher -S ./$subscriber -o=./../junit_interoperability_report.xml; \ - if [ -d "./OpenDDS-durable-data-dir" ]; then \ - echo Deleting OpenDDS-durable-data-dir; \ - rm -rf ./OpenDDS-durable-data-dir; \ - fi; \ - done \ - done - - name: Attach the report - if: always() - uses: actions/upload-artifact@v4 - with: - name: interoperability_report_toc_coredx_dds - path: | - ./junit_interoperability_report.xml - ./timestamp + - name: Checkout sources + uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.11.4' + - name: Download shape_main executables + uses: robinraju/release-downloader@v1.10 + with: + latest: true + fileName: "*" + out-file-path: zipped_executables + - name: Unzip executables + run: unzip 'zipped_executables/*.zip' -d executables + - name: Install Python requirements + run: pip install --requirement omg-dds-rtps/requirements.txt + - name: Run Interoperability script + timeout-minutes: 30 + run: python3 ./omg-dds-rtps/interoperability_report.py --verbose --publisher ./executables/${{ matrix.publisher }}*shape_main_linux --subscriber ./executables/${{ matrix.subscriber }}*shape_main_linux --output-name junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml + - name: Download timestamp + uses: actions/download-artifact@v4 + with: + name: timestamp + - name: Upload report + uses: actions/upload-artifact@v4 + with: + name: junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }} + path: | + ./junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml + ./timestamp + generate_report: runs-on: ubuntu-latest - needs: toc_coredx_dds + needs: run_tests steps: - name: Checkout uses: actions/checkout@v4 - - name: Download artifact + - name: Download artifacts uses: actions/download-artifact@v4 with: - name: interoperability_report_toc_coredx_dds + pattern: junit_report-* + merge-multiple: true - uses: actions/setup-python@v5 with: python-version: '3.11.4' - - name: Setting up environment - run: | - python3 -m venv .venv - source .venv/bin/activate - pip install -r requirements.txt + - name: Install Python requirements + run: pip install --requirement requirements.txt + - name: merge reports + run: junitparser merge *.xml junit_interoperability_report.xml - name: Generate xlsx report - run: | - source .venv/bin/activate - python3 generate_xlsx_report.py --input junit_interoperability_report.xml --output interoperability_report.xlsx - - name: XUnit Viewer - id: xunit-viewer - uses: AutoModality/action-xunit-viewer@v1 + run: python3 generate_xlsx_report.py --input junit_interoperability_report.xml --output interoperability_report.xlsx + - name: Download timestamp + uses: actions/download-artifact@v4 with: - results: ./junit_interoperability_report.xml + name: timestamp - name: Attach the report if: always() uses: actions/upload-artifact@v4 From 6b2e203171a343bc25b158da5a1f6bc02f5c7646 Mon Sep 17 00:00:00 2001 From: Stefan Kimmer Date: Wed, 26 Nov 2025 09:54:21 +0100 Subject: [PATCH 02/13] rename test run --- .../1_run_interoperability_tests.yml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index 12371bf9..903efb00 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -1,19 +1,18 @@ name: 1 - Run Interoperability Tests -run-name: ${{ github.actor }} is testing out GitHub Actions 🚀 +run-name: Run Interoperability Tests by ${{ github.actor }} on: workflow_dispatch jobs: generate_timestamp: runs-on: ubuntu-latest steps: - - name: Generate timestamp file - run: date '+%Y-%m-%d-%H_%M_%S' > timestamp - - name: Attach the report - if: always() - uses: actions/upload-artifact@v4 - with: - name: timestamp - path: | - ./timestamp + - name: Generate timestamp file + run: date '+%Y-%m-%d-%H_%M_%S' > timestamp + - name: Upload timestamp file + uses: actions/upload-artifact@v4 + with: + name: timestamp + path: | + ./timestamp run_tests: runs-on: ubuntu-latest From 47842774684402196ac45f3507e8643bcb608bb6 Mon Sep 17 00:00:00 2001 From: Stefan Kimmer Date: Wed, 26 Nov 2025 13:26:02 +0100 Subject: [PATCH 03/13] Add back Xunit --- .github/workflows/1_run_interoperability_tests.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index 903efb00..4a2d8760 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -73,6 +73,11 @@ jobs: run: junitparser merge *.xml junit_interoperability_report.xml - name: Generate xlsx report run: python3 generate_xlsx_report.py --input junit_interoperability_report.xml --output interoperability_report.xlsx + - name: XUnit + uses: AutoModality/action-xunit-viewer@v1 + with: + results: ./junit_interoperability_report.xml + fail: false - name: Download timestamp uses: actions/download-artifact@v4 with: From c5b6ead3d8307d8b8d544739370fa94541d85c76 Mon Sep 17 00:00:00 2001 From: Stefan Kimmer Date: Wed, 26 Nov 2025 13:45:52 +0100 Subject: [PATCH 04/13] explicitly use omg-dds/dds-rtps to Download executables --- .github/workflows/1_run_interoperability_tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index 4a2d8760..a7035208 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -31,6 +31,7 @@ jobs: - name: Download shape_main executables uses: robinraju/release-downloader@v1.10 with: + repository: omg-dds/dds-rtps latest: true fileName: "*" out-file-path: zipped_executables From 75999371e93d76121370fbee81a273e7e9759e64 Mon Sep 17 00:00:00 2001 From: Stefan Kimmer Date: Wed, 26 Nov 2025 13:51:23 +0100 Subject: [PATCH 05/13] fix requirements installation --- .github/workflows/1_run_interoperability_tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index a7035208..1706e7ae 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -38,10 +38,10 @@ jobs: - name: Unzip executables run: unzip 'zipped_executables/*.zip' -d executables - name: Install Python requirements - run: pip install --requirement omg-dds-rtps/requirements.txt + run: pip install --requirement requirements.txt - name: Run Interoperability script timeout-minutes: 30 - run: python3 ./omg-dds-rtps/interoperability_report.py --verbose --publisher ./executables/${{ matrix.publisher }}*shape_main_linux --subscriber ./executables/${{ matrix.subscriber }}*shape_main_linux --output-name junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml + run: python3 interoperability_report.py --verbose --publisher executables/${{ matrix.publisher }}*shape_main_linux --subscriber executables/${{ matrix.subscriber }}*shape_main_linux --output-name junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml - name: Download timestamp uses: actions/download-artifact@v4 with: From 7da4f72eb66d4a1225346eee3b42159fc8d334aa Mon Sep 17 00:00:00 2001 From: Stefan Kimmer Date: Wed, 26 Nov 2025 14:33:14 +0100 Subject: [PATCH 06/13] temporarily use fewer dds vendors --- .github/workflows/1_run_interoperability_tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index 1706e7ae..5116ac39 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -19,8 +19,8 @@ jobs: needs: generate_timestamp strategy: matrix: - publisher: [connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] - subscriber: [connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] + publisher: [dust_dds, eprosima_fastdds] #[connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] + subscriber: [dust_dds, eprosima_fastdds] #[connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] steps: - name: Checkout sources @@ -41,7 +41,7 @@ jobs: run: pip install --requirement requirements.txt - name: Run Interoperability script timeout-minutes: 30 - run: python3 interoperability_report.py --verbose --publisher executables/${{ matrix.publisher }}*shape_main_linux --subscriber executables/${{ matrix.subscriber }}*shape_main_linux --output-name junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml + run: python3 interoperability_report.py --publisher executables/${{ matrix.publisher }}*shape_main_linux --subscriber executables/${{ matrix.subscriber }}*shape_main_linux --output-name junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml - name: Download timestamp uses: actions/download-artifact@v4 with: From 74fe17379defba9a1f8f5a898c8a716890269aef Mon Sep 17 00:00:00 2001 From: Stefan Kimmer Date: Wed, 26 Nov 2025 14:47:25 +0100 Subject: [PATCH 07/13] add back all vendors --- .github/workflows/1_run_interoperability_tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index 5116ac39..7a67f337 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -1,5 +1,5 @@ name: 1 - Run Interoperability Tests -run-name: Run Interoperability Tests by ${{ github.actor }} +run-name: Run Interoperability Tests on: workflow_dispatch jobs: generate_timestamp: @@ -19,8 +19,8 @@ jobs: needs: generate_timestamp strategy: matrix: - publisher: [dust_dds, eprosima_fastdds] #[connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] - subscriber: [dust_dds, eprosima_fastdds] #[connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] + publisher: [connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] + subscriber: [connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] steps: - name: Checkout sources @@ -40,7 +40,7 @@ jobs: - name: Install Python requirements run: pip install --requirement requirements.txt - name: Run Interoperability script - timeout-minutes: 30 + timeout-minutes: 60 run: python3 interoperability_report.py --publisher executables/${{ matrix.publisher }}*shape_main_linux --subscriber executables/${{ matrix.subscriber }}*shape_main_linux --output-name junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml - name: Download timestamp uses: actions/download-artifact@v4 From 8c5bd9e866395cf662b87be0d41ab634dba255eb Mon Sep 17 00:00:00 2001 From: Stefan Kimmer Date: Wed, 26 Nov 2025 16:28:22 +0100 Subject: [PATCH 08/13] try user input --- .github/workflows/1_run_interoperability_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index 7a67f337..473970a7 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -19,7 +19,7 @@ jobs: needs: generate_timestamp strategy: matrix: - publisher: [connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] + publisher: ${{ fromJson(github.event.inputs.publishers || '["connext_dds","dust_dds","eprosima_fastdds","intercom_dds","opendds","toc_coredx_dds"]') }} subscriber: [connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] steps: From 2dee63cea2e58f5881ca874ceb5f70e88d5beb0b Mon Sep 17 00:00:00 2001 From: Stefan Kimmer Date: Wed, 26 Nov 2025 17:28:09 +0100 Subject: [PATCH 09/13] add inputs --- .github/workflows/1_run_interoperability_tests.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index 473970a7..b80dc6b1 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -1,6 +1,12 @@ name: 1 - Run Interoperability Tests run-name: Run Interoperability Tests -on: workflow_dispatch +on: + workflow_dispatch: + inputs: + publishers: + description: Publishers to use + type: string + default: '["connext_dds","dust_dds","eprosima_fastdds","intercom_dds","opendds","toc_coredx_dds"]' jobs: generate_timestamp: runs-on: ubuntu-latest @@ -19,7 +25,7 @@ jobs: needs: generate_timestamp strategy: matrix: - publisher: ${{ fromJson(github.event.inputs.publishers || '["connext_dds","dust_dds","eprosima_fastdds","intercom_dds","opendds","toc_coredx_dds"]') }} + publisher: ${{ fromJson(github.event.inputs.publishers) }} subscriber: [connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] steps: From 68959ddbbd394d1508ad3c5322f7391c44b48cd8 Mon Sep 17 00:00:00 2001 From: Stefan Kimmer Date: Wed, 26 Nov 2025 17:30:39 +0100 Subject: [PATCH 10/13] add subscriber selection --- .github/workflows/1_run_interoperability_tests.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index b80dc6b1..a5a72f05 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -7,6 +7,10 @@ on: description: Publishers to use type: string default: '["connext_dds","dust_dds","eprosima_fastdds","intercom_dds","opendds","toc_coredx_dds"]' + subscribers: + description: Subscribers to use + type: string + default: '["connext_dds","dust_dds","eprosima_fastdds","intercom_dds","opendds","toc_coredx_dds"]' jobs: generate_timestamp: runs-on: ubuntu-latest @@ -26,7 +30,7 @@ jobs: strategy: matrix: publisher: ${{ fromJson(github.event.inputs.publishers) }} - subscriber: [connext_dds, dust_dds, eprosima_fastdds, intercom_dds, opendds, toc_coredx_dds] + subscriber: ${{ fromJson(github.event.inputs.subscribers) }} steps: - name: Checkout sources From 5928705f825447d9c1cc1997fa10c184c7fab47d Mon Sep 17 00:00:00 2001 From: Angel Martinez Date: Fri, 19 Dec 2025 17:25:31 +0100 Subject: [PATCH 11/13] Added extra arg when running opendds and connext --- .github/workflows/1_run_interoperability_tests.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index a5a72f05..cb502ae3 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -51,7 +51,15 @@ jobs: run: pip install --requirement requirements.txt - name: Run Interoperability script timeout-minutes: 60 - run: python3 interoperability_report.py --publisher executables/${{ matrix.publisher }}*shape_main_linux --subscriber executables/${{ matrix.subscriber }}*shape_main_linux --output-name junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml + run: | + publisher_exe=executables/${{ matrix.publisher }}*shape_main_linux \ + subscriber_exe=executables/${{ matrix.subscriber }}*shape_main_linux \ + output_file=junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml \ + extra_args="" \ + if [[ "${subscriber_exe,,}" == *opendds* && "${publisher_exe,,}" == *connext* ]]; then \ + extra_args="--periodic-announcement 5000" \ + fi; \ + python3 interoperability_report.py --publisher $publisher_exe --subscriber $subscriber_exe --output-name $output_file $extra_args - name: Download timestamp uses: actions/download-artifact@v4 with: From 4359d02597ffe8012c4bda3d7b836bb3d2c98044 Mon Sep 17 00:00:00 2001 From: Angel Martinez Date: Fri, 19 Dec 2025 17:42:13 +0100 Subject: [PATCH 12/13] Fixing run script --- .github/workflows/1_run_interoperability_tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index cb502ae3..d790f9de 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -56,8 +56,8 @@ jobs: subscriber_exe=executables/${{ matrix.subscriber }}*shape_main_linux \ output_file=junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml \ extra_args="" \ - if [[ "${subscriber_exe,,}" == *opendds* && "${publisher_exe,,}" == *connext* ]]; then \ - extra_args="--periodic-announcement 5000" \ + if [[ "${subscriber_exe,,}" == *opendds* && "${publisher_exe,,}" == *connext_dds* ]]; then \ + extra_args="--periodic-announcement 5000"; \ fi; \ python3 interoperability_report.py --publisher $publisher_exe --subscriber $subscriber_exe --output-name $output_file $extra_args - name: Download timestamp From ed0d0120b70a5a7e35933f9e4cf3f86765a25205 Mon Sep 17 00:00:00 2001 From: Angel Martinez Date: Fri, 19 Dec 2025 17:47:23 +0100 Subject: [PATCH 13/13] removing backslashes --- .github/workflows/1_run_interoperability_tests.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/1_run_interoperability_tests.yml b/.github/workflows/1_run_interoperability_tests.yml index d790f9de..720883cf 100644 --- a/.github/workflows/1_run_interoperability_tests.yml +++ b/.github/workflows/1_run_interoperability_tests.yml @@ -52,13 +52,13 @@ jobs: - name: Run Interoperability script timeout-minutes: 60 run: | - publisher_exe=executables/${{ matrix.publisher }}*shape_main_linux \ - subscriber_exe=executables/${{ matrix.subscriber }}*shape_main_linux \ - output_file=junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml \ - extra_args="" \ - if [[ "${subscriber_exe,,}" == *opendds* && "${publisher_exe,,}" == *connext_dds* ]]; then \ - extra_args="--periodic-announcement 5000"; \ - fi; \ + publisher_exe=executables/${{ matrix.publisher }}*shape_main_linux + subscriber_exe=executables/${{ matrix.subscriber }}*shape_main_linux + output_file=junit_report-${{ matrix.publisher }}-${{ matrix.subscriber }}.xml + extra_args="" + if [[ "${subscriber_exe,,}" == *opendds* && "${publisher_exe,,}" == *connext_dds* ]]; then + extra_args="--periodic-announcement 5000" + fi python3 interoperability_report.py --publisher $publisher_exe --subscriber $subscriber_exe --output-name $output_file $extra_args - name: Download timestamp uses: actions/download-artifact@v4