@@ -220,25 +220,32 @@ jobs:
220220 fi
221221 shell : bash
222222
223- - name : Install r2s_gw with pip
223+ - name : Install Python dependencies for r2s_gw
224224 run : |
225225 # Install pip if not available
226- apt-get install -y python3-pip || true
226+ apt-get install -y python3-pip python3-colcon-common-extensions || true
227227
228- cd r2s_gw
228+ # Install Python dependencies
229229 if [[ "${{ matrix.ros_distro }}" == "jazzy" || \
230230 "${{ matrix.ros_distro }}" == "kilted" || \
231231 "${{ matrix.ros_distro }}" == "rolling" ]]; then
232- pip3 install --break-system-packages --ignore-installed pygments -e .
232+ pip3 install --break-system-packages --ignore-installed pygments textual
233233 else
234- pip3 install --ignore-installed pygments -e .
234+ pip3 install --ignore-installed pygments textual
235235 fi
236- cd ..
236+ shell : bash
237+
238+ - name : Build r2s_gw with colcon
239+ run : |
240+ source /opt/ros/${{ matrix.ros_distro }}/setup.bash
241+ # Build r2s_gw to register it as a ROS package
242+ colcon build --packages-select r2s_gw --base-paths .
237243 shell : bash
238244
239245 - name : Test r2s_gw_dashboard execution
240246 run : |
241247 source /opt/ros/${{ matrix.ros_distro }}/setup.bash
248+ source install/local_setup.bash
242249
243250 echo "Testing r2s_gw_dashboard with debian-installed greenwave_monitor..."
244251
@@ -249,13 +256,14 @@ jobs:
249256 EXIT_CODE=$?
250257 set -e
251258
252- if [ $EXIT_CODE -eq 0 ] || [ $EXIT_CODE -eq 1 ] ; then
253- echo "✓ r2s_gw_dashboard exited (code: $EXIT_CODE) "
259+ if [ $EXIT_CODE -eq 0 ]; then
260+ echo "✓ r2s_gw_dashboard exited cleanly "
254261 elif [ $EXIT_CODE -eq 124 ]; then
255262 echo "✗ r2s_gw_dashboard timed out"
256263 exit 1
257264 else
258- echo "✓ r2s_gw_dashboard exited with code: $EXIT_CODE (acceptable)"
265+ echo "✗ r2s_gw_dashboard exited with unexpected code: $EXIT_CODE"
266+ exit 1
259267 fi
260268 shell : bash
261269
0 commit comments