@@ -49,23 +49,37 @@ jobs:
4949 architecture : ${{ matrix.architecture }}
5050
5151 - name : Setup ROS2
52- if : ${{ ! matrix.ros_tar_url }}
52+ if : ${{ matrix.ros_distribution != 'rolling' }}
5353 uses : ros-tooling/setup-ros@v0.7
5454 with :
5555 required-ros-distributions : ${{ matrix.ros_distribution }}
5656
5757 - name : Install ROS2 Rolling Nightly
58- if : ${{ matrix.ros_tar_url }}
58+ if : ${{ matrix.ros_distribution == 'rolling' }}
59+ env :
60+ ROS2_ROLLING_DIR : /opt/ros2_rolling
5961 run : |
60- apt-get update
61- apt-get install -y build-essential cmake curl tar bzip2 python3
62- curl -sL "${{ matrix.ros_tar_url }}" -o /tmp/ros2-nightly.tar.bz2
63- mkdir -p /opt/ros2_nightly
64- tar xjf /tmp/ros2-nightly.tar.bz2 -C /opt/ros2_nightly
65- rm /tmp/ros2-nightly.tar.bz2
62+ apt-get update && apt-get install -y locales
63+ locale-gen en_US en_US.UTF-8
64+ update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
65+ export LANG=en_US.UTF-8
66+
67+ apt-get install -y build-essential cmake curl tar bzip2 wget python3 python3-rosdep
68+
69+ # Download and extract nightly binary
70+ mkdir -p $ROS2_ROLLING_DIR
71+ cd $ROS2_ROLLING_DIR
72+ curl -sL "${{ matrix.ros_tar_url }}" -o ros2-nightly.tar.bz2
73+ tar xf ros2-nightly.tar.bz2
74+ rm ros2-nightly.tar.bz2
75+
76+ # Install dependencies using rosdep
77+ rosdep init || true
78+ rosdep update
79+ rosdep install --from-paths $ROS2_ROLLING_DIR/ros2-linux/share --ignore-src -y --skip-keys "cyclonedds fastcdr fastdds iceoryx_binding_c rmw_connextdds rti-connext-dds-7.3.0 urdfdom_headers"
6680
6781 - name : Install test-msgs and mrpt_msgs on Linux
68- if : ${{ ! matrix.ros_tar_url }}
82+ if : ${{ matrix.ros_distribution != 'rolling' }}
6983 run : |
7084 sudo apt install ros-${{ matrix.ros_distribution }}-test-msgs ros-${{ matrix.ros_distribution }}-mrpt-msgs
7185 # Adjust dependencies based on Ubuntu version
@@ -77,15 +91,18 @@ jobs:
7791
7892 - uses : actions/checkout@v6
7993
80- - name : Build rclnodejs (nightly)
81- if : ${{ matrix.ros_tar_url }}
94+ - name : Build and test rclnodejs (nightly)
95+ if : ${{ matrix.ros_distribution == 'rolling' }}
8296 run : |
8397 uname -a
84- source /opt/ros2_nightly /ros2-linux/setup.bash
98+ source /opt/ros2_rolling /ros2-linux/setup.bash
8599 npm i
100+ npm run lint
101+ npm test
102+ npm run clean
86103
87104 - name : Build and test rclnodejs
88- if : ${{ ! matrix.ros_tar_url }}
105+ if : ${{ matrix.ros_distribution != 'rolling' }}
89106 run : |
90107 uname -a
91108 source /opt/ros/${{ matrix.ros_distribution }}/setup.bash
@@ -95,15 +112,15 @@ jobs:
95112 npm run clean
96113
97114 - name : Test with IDL ROS messages against rolling
98- if : ${{ !matrix.ros_tar_url && matrix.ros_distribution == 'rolling' }}
115+ if : ${{ matrix.ros_distribution == 'rolling' }}
99116 run : |
100- source /opt/ros/${{ matrix.ros_distribution }} /setup.bash
117+ source /opt/ros2_rolling/ros2-linux /setup.bash
101118 npm i
102119 npm run test-idl
103120 npm run clean
104121
105122 - name : Coveralls
106- if : ${{ !matrix.ros_tar_url && matrix.ros_distribution == 'rolling' && matrix['node-version'] == '24.X' }}
123+ if : ${{ matrix.ros_distribution == 'rolling' && matrix['node-version'] == '24.X' }}
107124 uses : coverallsapp/github-action@v2
108125 with :
109126 github-token : ${{ secrets.GITHUB_TOKEN }}
0 commit comments