From 04099f24411f5ed1dc3899053952abd62bced650 Mon Sep 17 00:00:00 2001 From: Blake McHale Date: Tue, 27 Jan 2026 20:01:02 -0800 Subject: [PATCH 1/7] Test smoke Signed-off-by: Blake McHale --- .github/workflows/ros-tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ros-tests.yml b/.github/workflows/ros-tests.yml index b2e4d5e..975c281 100644 --- a/.github/workflows/ros-tests.yml +++ b/.github/workflows/ros-tests.yml @@ -121,9 +121,10 @@ jobs: source /opt/ros/${{ matrix.ros_distro }}/setup.bash source install/setup.bash set -e + export TERM=xterm timeout 10s bash -lc "script -qfec 'ros2 run greenwave_monitor ncurses_dashboard' /dev/null <<< \$'q'" || true timeout 10s bash -lc "script -qfec 'ros2 run r2s_gw r2s_gw_dashboard' /dev/null <<< \$'q'" || true - timeout 5s ros2 launch greenwave_monitor hz.launch.py topics:='["/topic1"]' || true + timeout 5s ros2 launch greenwave_monitor hz.launch.py gw_monitored_topics:='["/topic1","/topic2"]' || true shell: bash - name: Run tests From 08c75fcf726de8faf8d64cdc93494baa4cb80d8d Mon Sep 17 00:00:00 2001 From: Blake McHale Date: Tue, 27 Jan 2026 20:12:39 -0800 Subject: [PATCH 2/7] Add r2s_gw install in CI Signed-off-by: Blake McHale --- .github/workflows/ros-tests.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ros-tests.yml b/.github/workflows/ros-tests.yml index 975c281..6d82348 100644 --- a/.github/workflows/ros-tests.yml +++ b/.github/workflows/ros-tests.yml @@ -102,7 +102,7 @@ jobs: colcon build --packages-up-to greenwave_monitor shell: bash - - name: Install r2s_gw with pip + - name: Install r2s_gw run: | source /opt/ros/${{ matrix.ros_distro }}/setup.bash source install/setup.bash @@ -110,10 +110,11 @@ jobs: if [[ "${{ matrix.ros_distro }}" == "jazzy" || \ "${{ matrix.ros_distro }}" == "kilted" || \ "${{ matrix.ros_distro }}" == "rolling" ]]; then - pip3 install --break-system-packages --ignore-installed pygments -e . + pip3 install --break-system-packages --ignore-installed pygments -e . -r requirements.txt else - pip3 install --ignore-installed pygments -e . + pip3 install --ignore-installed pygments -e . -r requirements.txt fi + colcon build --packages-select r2s_gw shell: bash - name: Smoke test README commands @@ -122,9 +123,9 @@ jobs: source install/setup.bash set -e export TERM=xterm - timeout 10s bash -lc "script -qfec 'ros2 run greenwave_monitor ncurses_dashboard' /dev/null <<< \$'q'" || true - timeout 10s bash -lc "script -qfec 'ros2 run r2s_gw r2s_gw_dashboard' /dev/null <<< \$'q'" || true - timeout 5s ros2 launch greenwave_monitor hz.launch.py gw_monitored_topics:='["/topic1","/topic2"]' || true + timeout 10s bash -lc "script -qfec 'ros2 run greenwave_monitor ncurses_dashboard' /dev/null <<< \$'q'" + timeout 10s bash -lc "script -qfec 'ros2 run r2s_gw r2s_gw_dashboard' /dev/null <<< \$'q'" + timeout 10s bash -lc "script -qfec 'ros2 run r2s_gw r2s_gw_dashboard -- --demo' /dev/null <<< \$'q'" shell: bash - name: Run tests From 79b2f6b299c3e90884f889f7fba76ec0fd484556 Mon Sep 17 00:00:00 2001 From: Blake McHale Date: Tue, 27 Jan 2026 20:18:10 -0800 Subject: [PATCH 3/7] Fix CI Signed-off-by: Blake McHale --- .github/workflows/ros-tests.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ros-tests.yml b/.github/workflows/ros-tests.yml index 6d82348..6bda5ab 100644 --- a/.github/workflows/ros-tests.yml +++ b/.github/workflows/ros-tests.yml @@ -106,15 +106,14 @@ jobs: run: | source /opt/ros/${{ matrix.ros_distro }}/setup.bash source install/setup.bash - cd r2s_gw if [[ "${{ matrix.ros_distro }}" == "jazzy" || \ "${{ matrix.ros_distro }}" == "kilted" || \ "${{ matrix.ros_distro }}" == "rolling" ]]; then - pip3 install --break-system-packages --ignore-installed pygments -e . -r requirements.txt + pip3 install --break-system-packages --ignore-installed pygments -r r2s_gw/requirements.txt else - pip3 install --ignore-installed pygments -e . -r requirements.txt + pip3 install --ignore-installed pygments -r r2s_gw/requirements.txt fi - colcon build --packages-select r2s_gw + colcon build --packages-up-to r2s_gw shell: bash - name: Smoke test README commands From 8a87e7e10b1199ab091b88aebd8c4d614d3bb1ae Mon Sep 17 00:00:00 2001 From: Blake McHale Date: Tue, 27 Jan 2026 20:22:53 -0800 Subject: [PATCH 4/7] Fix CI Signed-off-by: Blake McHale --- .github/workflows/ros-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ros-tests.yml b/.github/workflows/ros-tests.yml index 6bda5ab..9f87759 100644 --- a/.github/workflows/ros-tests.yml +++ b/.github/workflows/ros-tests.yml @@ -83,7 +83,7 @@ jobs: curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2.list apt-get update -qq - apt-get install -y python3-rosdep python3-colcon-common-extensions build-essential cmake git python3-pip + apt-get install -y python3-rosdep python3-colcon-common-extensions build-essential cmake git python3-pip ros-${{ matrix.ros_distro }}-ros-base shell: bash - name: Initialize rosdep and install dependencies From 06b847c1d12a04bc3537bda1f5fa797d6bc68032 Mon Sep 17 00:00:00 2001 From: Blake McHale Date: Tue, 27 Jan 2026 20:33:35 -0800 Subject: [PATCH 5/7] Add demo for ncurses Signed-off-by: Blake McHale --- .github/workflows/ros-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ros-tests.yml b/.github/workflows/ros-tests.yml index 9f87759..727b477 100644 --- a/.github/workflows/ros-tests.yml +++ b/.github/workflows/ros-tests.yml @@ -123,6 +123,7 @@ jobs: set -e export TERM=xterm timeout 10s bash -lc "script -qfec 'ros2 run greenwave_monitor ncurses_dashboard' /dev/null <<< \$'q'" + timeout 10s bash -lc "script -qfec 'ros2 run greenwave_monitor ncurses_dashboard --demo' /dev/null <<< \$'q'" timeout 10s bash -lc "script -qfec 'ros2 run r2s_gw r2s_gw_dashboard' /dev/null <<< \$'q'" timeout 10s bash -lc "script -qfec 'ros2 run r2s_gw r2s_gw_dashboard -- --demo' /dev/null <<< \$'q'" shell: bash From 4c55aa2e561dcf77050a967f7e2b8e214eee1649 Mon Sep 17 00:00:00 2001 From: Blake McHale Date: Tue, 27 Jan 2026 21:15:49 -0800 Subject: [PATCH 6/7] Add back hz.launch.py test Signed-off-by: Blake McHale --- .github/workflows/ros-tests.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/ros-tests.yml b/.github/workflows/ros-tests.yml index 727b477..3787a1c 100644 --- a/.github/workflows/ros-tests.yml +++ b/.github/workflows/ros-tests.yml @@ -126,6 +126,14 @@ jobs: timeout 10s bash -lc "script -qfec 'ros2 run greenwave_monitor ncurses_dashboard --demo' /dev/null <<< \$'q'" timeout 10s bash -lc "script -qfec 'ros2 run r2s_gw r2s_gw_dashboard' /dev/null <<< \$'q'" timeout 10s bash -lc "script -qfec 'ros2 run r2s_gw r2s_gw_dashboard -- --demo' /dev/null <<< \$'q'" + # Start topic publishers in background for hz.launch.py test + ros2 topic pub /topic1 std_msgs/msg/String "{data: 'test'}" --rate 10 & + PUB1_PID=$! + ros2 topic pub /topic2 std_msgs/msg/String "{data: 'test'}" --rate 10 & + PUB2_PID=$! + trap "kill $PUB1_PID $PUB2_PID 2>/dev/null || true" EXIT + sleep 1 + timeout --signal=INT --preserve-status 5s ros2 launch greenwave_monitor hz.launch.py gw_monitored_topics:='["/topic1", "/topic2"]' || [ $? -eq 130 ] shell: bash - name: Run tests From 5bc6313d4cad90525bc5a83880badd63fa946cd1 Mon Sep 17 00:00:00 2001 From: Blake McHale Date: Tue, 27 Jan 2026 21:39:34 -0800 Subject: [PATCH 7/7] Remove extra Signed-off-by: Blake McHale --- .github/workflows/ros-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ros-tests.yml b/.github/workflows/ros-tests.yml index 3787a1c..10161e8 100644 --- a/.github/workflows/ros-tests.yml +++ b/.github/workflows/ros-tests.yml @@ -133,7 +133,7 @@ jobs: PUB2_PID=$! trap "kill $PUB1_PID $PUB2_PID 2>/dev/null || true" EXIT sleep 1 - timeout --signal=INT --preserve-status 5s ros2 launch greenwave_monitor hz.launch.py gw_monitored_topics:='["/topic1", "/topic2"]' || [ $? -eq 130 ] + timeout --signal=INT --preserve-status 5s ros2 launch greenwave_monitor hz.launch.py gw_monitored_topics:='["/topic1", "/topic2"]' shell: bash - name: Run tests