@@ -67,15 +67,38 @@ jobs:
6767 - name : Lint Rust
6868 run : |
6969 just lint sdk rust
70- just lint integrations rust
70+ just lint integrations-zenoh rust
7171
7272 - name : Install rust-script
7373 run : cargo install rust-script --locked
7474
7575 - name : Verify std feature propagation
7676 run : |
7777 just verify sdk std-propagation
78- just verify integrations std-propagation
78+ just verify integrations-zenoh std-propagation
79+ just verify integrations-ros2 std-propagation
80+
81+ nightly-check :
82+ if : github.event.pull_request.draft == false
83+ timeout-minutes : 20
84+ runs-on : ubuntu-latest
85+ steps :
86+ - name : Check nightly action status
87+ run : |
88+ COLOR_OFF='\033[0m'
89+ COLOR_RED='\033[1;31m'
90+ COLOR_GREEN='\033[1;32m'
91+ COLOR_YELLOW='\033[1;33m'
92+ LAST_RUN_STATUS=$(curl -s "https://api.github.com/repos/eclipse-iceoryx/iceoryx2/actions/workflows/nightly.yml/runs" | jq -r '.workflow_runs[0].conclusion')
93+ if [[ "${LAST_RUN_STATUS}" == "success" ]]; then
94+ echo -e "Last nightly run status: ${COLOR_GREEN}${LAST_RUN_STATUS}${COLOR_OFF}"
95+ else
96+ echo -e "Last nightly run status: ${COLOR_RED}${LAST_RUN_STATUS}${COLOR_OFF}"
97+ echo -e "${COLOR_RED}Error! The nightly workflow failed on the last run. Please check and fix the nightly workflow before merging this PR.${COLOR_OFF}"
98+ echo -e "${COLOR_YELLOW}You can trigger the nightly workflow manually from 'https://github.com/eclipse-iceoryx/iceoryx2/actions/workflows/nightly.yml'.${COLOR_OFF}"
99+ echo -e "${COLOR_YELLOW}Just look for the 'Run workflow' button. The branch where the workflow shall run can also be selected.${COLOR_OFF}"
100+ exit 1
101+ fi
79102
80103 linting-markdown :
81104 needs : changes
@@ -100,7 +123,7 @@ jobs:
100123 - name : Lint markdown
101124 run : |
102125 just lint sdk markdown
103- just lint integrations markdown
126+ just lint integrations-zenoh markdown
104127
105128 - name : Check config key documentation
106129 run : ./internal/scripts/ci_check_description_vector_and_README.sh
@@ -153,12 +176,12 @@ jobs:
153176 - name : Run code examples in documentation
154177 run : |
155178 just test sdk --doc
156- just test integrations --doc
179+ just test integrations-zenoh --doc
157180
158181 - name : Build documentation
159182 run : |
160183 just doc sdk rust
161- just doc integrations rust
184+ just doc integrations-zenoh rust
162185
163186 cargo-nextest :
164187 needs : preflight-check
@@ -314,7 +337,7 @@ jobs:
314337 docker build \
315338 -f iceoryx2-services/tunnel-end-to-end-tests/Dockerfile \
316339 --build-arg ENTRYPOINT_BIN=target/release/iox2-tunnel \
317- --build-arg BACKEND_BIN=integrations/target/release/iox2-tunnel-${{ matrix.tunnel }} \
340+ --build-arg BACKEND_BIN=integrations/${{ matrix.tunnel }}/ target/release/iox2-tunnel-${{ matrix.tunnel }} \
318341 --build-arg PINGER_BIN=target/release/iceoryx2-services-tunnel-end-to-end-tests-pinger \
319342 --build-arg PONGER_BIN=target/release/iceoryx2-services-tunnel-end-to-end-tests-ponger \
320343 -t end-to-end-tests:${{ github.sha }} .
@@ -364,7 +387,7 @@ jobs:
364387 profile : " debug"
365388 workspace : sdk
366389
367- integrations-stable-debug :
390+ integrations-zenoh- stable-debug :
368391 needs : [preflight-check, cargo-nextest]
369392 if : ${{ needs.changes.outputs.source-code == 'true' }}
370393 strategy :
@@ -376,7 +399,23 @@ jobs:
376399 os : ${{ matrix.os }}
377400 toolchain : ${{ matrix.toolchain }}
378401 profile : " debug"
379- workspace : integrations
402+ workspace : zenoh
403+
404+ integrations-ros2-stable-debug :
405+ needs : [preflight-check]
406+ if : ${{ needs.changes.outputs.source-code == 'true' }}
407+ strategy :
408+ fail-fast : false
409+ matrix :
410+ ros :
411+ - { distro: jazzy, rmw: rmw_fastrtps_cpp }
412+ - { distro: humble, rmw: rmw_cyclonedds_cpp }
413+ uses : ./.github/workflows/reuse_ros2.yml
414+ with :
415+ ros-distro : ${{ matrix.ros.distro }}
416+ rmw : ${{ matrix.ros.rmw }}
417+ toolchain : stable
418+ profile : " debug"
380419
381420 sdk-stable-release :
382421 needs : [preflight-check, cargo-nextest]
@@ -388,15 +427,15 @@ jobs:
388427 profile : " release"
389428 workspace : sdk
390429
391- integrations-stable-release :
430+ integrations-zenoh- stable-release :
392431 needs : [preflight-check, cargo-nextest]
393432 if : ${{ needs.changes.outputs.source-code == 'true' }}
394433 uses : ./.github/workflows/reuse_stable.yml
395434 with :
396435 os : ubuntu-latest
397436 toolchain : stable
398437 profile : " release"
399- workspace : integrations
438+ workspace : zenoh
400439
401440 unstable :
402441 needs : [preflight-check, cargo-nextest]
@@ -441,7 +480,7 @@ jobs:
441480 ./internal/scripts/ci_prepare_freebsd.sh
442481 ./internal/scripts/ci_build_and_test_freebsd.sh --toolchain ${{ matrix.toolchain }} --mode ${{ matrix.mode }}
443482
444- # NOTE: No Bazel build for integrations workspace. This is on purpose.
483+ # NOTE: No Bazel build for zenoh workspace. This is on purpose.
445484 Bazel :
446485 needs : [preflight-check]
447486 if : ${{ needs.changes.outputs.source-code == 'true' }}
@@ -524,14 +563,14 @@ jobs:
524563 run : |
525564 just prepare-release all versions --version 0.0.0
526565
527- # NOTE: No publish dry run for integrations workspace. This is on purpose.
528- # A dry run is not possible since the integrations workspace depends
566+ # NOTE: No publish dry run for zenoh workspace. This is on purpose.
567+ # A dry run is not possible since the zenoh workspace depends
529568 # on crates in the sdk workspace.
530569 # TODO: Test publishing to local crate registry OR kellnr.
531570 - name : Cargo Publish Dry-Run
532571 run : |
533572 just publish sdk --dry-run --allow-dirty
534- just publish integrations --sanity-checks
573+ just publish integrations-zenoh --sanity-checks
535574
536575 grcov :
537576 needs : [preflight-check]
@@ -563,7 +602,8 @@ jobs:
563602 static-code-analysis-rust,
564603 static-code-analysis-cpp,
565604 sdk-stable-debug,
566- integrations-stable-debug,
605+ integrations-zenoh-stable-debug,
606+ integrations-ros2-stable-debug,
567607 freebsd,
568608 Bazel,
569609 x86_32-debug,
0 commit comments