Skip to content

Commit f77e0ab

Browse files
authored
Merge pull request #1816 from k-okada/noble-ros-o
enable noble techfak ros-o test #1814
2 parents b503940 + 7be7083 commit f77e0ab

File tree

6 files changed

+52
-13
lines changed

6 files changed

+52
-13
lines changed

.github/workflows/config.yml

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,9 @@ jobs:
222222
catkin_make_isolated ${{ matrix.CATKIN_OPTIONS }} --cmake-args -DCATKIN_ENABLE_TESTING=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ${{ matrix.CMAKE_OPTIONS }}
223223
shell: bash
224224

225-
# ROS-O setup https://github.com/v4hn/ros-o-builder/blob/jammy-one/README.md#install-instructions
225+
# ROS-O setup for v4hn https://github.com/v4hn/ros-o-builder/blob/jammy-one/README.md#install-instructions
226+
# ROS-O setup for techfak https://ros.packages.techfak.net/
227+
# note that v4hn uses ROS_DISTRO=one and techfak uses ROS_DISTRO
226228
ros-o:
227229
runs-on: ubuntu-latest
228230

@@ -231,7 +233,13 @@ jobs:
231233
matrix:
232234
include:
233235
- DISTRO: ubuntu:22.04
234-
ROS_REPOSITORY_URL: https://raw.githubusercontent.com/v4hn/ros-o-builder/jammy-one/repository
236+
ROS_ONE_VARIANT: v4hn
237+
ROS_REPOSITORY_URL: "deb [trusted=yes] https://raw.githubusercontent.com/v4hn/ros-o-builder/jammy-one/repository ./"
238+
ROSDEP_PACKAGE_MAPPING: "yaml https://raw.githubusercontent.com/v4hn/ros-o-builder/jammy-one/repository/local.yaml debian"
239+
- DISTRO: ubuntu:24.04
240+
ROS_ONE_VARIANT: techfak
241+
ROS_REPOSITORY_URL: "deb [trusted=yes] https://ros.packages.techfak.net noble main"
242+
ROSDEP_PACKAGE_MAPPING: "yaml https://ros.packages.techfak.net/ros-one.yaml ubuntu"
235243

236244
container: ${{ matrix.DISTRO }}
237245

@@ -245,26 +253,41 @@ jobs:
245253
- name: Setup ROS-O deb repository
246254
run: |
247255
set -x
248-
apt update && apt install -qq -y ca-certificates
249-
echo "deb [trusted=yes] ${{ matrix.ROS_REPOSITORY_URL }}/ ./" | tee /etc/apt/sources.list.d/ros-o-builder.list
256+
apt update && apt install -qq -y ca-certificates git
257+
echo ${{ matrix.ROS_REPOSITORY_URL }} | tee /etc/apt/sources.list.d/ros-o-builder.list
250258
##
251259
# https://github.com/v4hn/ros-deb-builder-action/blob/b7c0ed93fde3a86b5b1027bf8f7145cad6067c90/prepare.sh#L27-L28
252260
# Canonical dropped the Debian ROS packages from 24.04 for political reasons. Wow.
253-
test "${{ matrix.DISTRO }}" = "ubuntu:24.04" && apt install -y software-properties-common retry && retry -d 50,10,30,300 -t 12 add-apt-repository -y ppa:v-launchpad-jochen-sprickerhof-de/ros
261+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "v4hn" && "${{ matrix.DISTRO }}" == "ubuntu:24.04" ]]; then apt install -y software-properties-common retry && retry -d 50,10,30,300 -t 12 add-apt-repository -y ppa:v-launchpad-jochen-sprickerhof-de/ros; fi
254262
##
255263
apt update
256-
apt install -qq -y python3-rosdep2
257-
echo "yaml ${{ matrix.ROS_REPOSITORY_URL }}/local.yaml debian" | tee /etc/ros/rosdep/sources.list.d/1-ros-o-builder.list
264+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "v4hn" ]]; then
265+
apt install -qq -y python3-rosdep2
266+
fi
267+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "techfak" ]]; then
268+
# Do not install python3-rosdep2, which is an outdated version of rosdep shipped via the Ubuntu repositories (instead of ROS)!
269+
apt install -qq -y python3-rosdep
270+
rosdep init
271+
fi
272+
echo ${{ matrix.ROSDEP_PACKAGE_MAPPING }} | tee /etc/ros/rosdep/sources.list.d/1-ros-o-builder.list
258273
rosdep update
274+
shell: bash
259275

260276
- name: Setup catkin-tools
261277
run: |
262278
set -x
263279
# setup catkin tools
264280
apt install -qq -y python3-pip
265-
pip3 install catkin-tools
281+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "v4hn" ]]; then
282+
pip3 install catkin-tools==0.9.4
283+
apt install -qq -y catkin
284+
fi
285+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "techfak" ]]; then
286+
apt install -qq -y ros-one-catkin python3-catkin-tools
287+
fi
266288
# setup build tools
267-
apt install -qq -y cmake build-essential catkin ros-one-rosbash
289+
apt install -qq -y cmake build-essential ros-one-rosbash
290+
shell: bash
268291

269292
- name: Setup Workspace
270293
run: |
@@ -273,8 +296,15 @@ jobs:
273296
# setup workspace
274297
mkdir -p ~/ws/src
275298
cd ~/ws/src
299+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "techfak" ]]; then
300+
# TODO: remove these lines and uncomment https://github.com/ubi-agni/ros-builder-action/blob/191fab06004ad5784c28cf2ba2b18f6d163a860d/ros-one.repos#L1089
301+
git clone https://github.com/locusrobotics/catkin_virtualenv.git
302+
fi
276303
ln -sf $GITHUB_WORKSPACE .
277304
rosdep install -qq -r -y --from-path . --ignore-src || echo "OK"
305+
# check all system packages are able to install, because ROS-O build deb files that needs all packages
306+
PIP_BREAK_SYSTEM_PACKAGES=1 rosdep install -qq --simulate -y --from-path . --ignore-src -t exec -t buildtool_export -t buildtool -t build -t build_export | tee rosdep-install.sh
307+
sed 's/apt-get install/apt-get -y install/;/install ros-one/s/^/#/;/pip3 install/s/^/#/' rosdep-install.sh | bash -xe
278308
shell: bash
279309

280310
- name: Compile Packages

jsk_data/package.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
<exec_depend>tf2_ros</exec_depend>
3434
<exec_depend>wget</exec_depend>
3535
<exec_depend>xacro</exec_depend>
36-
<test_depend>python-freezegun-pip</test_depend>
36+
<test_depend condition="$ROS_PYTHON_VERSION == 2">python-freezegun-pip</test_depend>
37+
<test_depend condition="$ROS_PYTHON_VERSION == 3">python3-freezegun</test_depend>
3738
<test_depend condition="$ROS_PYTHON_VERSION == 3">python3-imageio</test_depend>
3839
<test_depend condition="$ROS_PYTHON_VERSION == 2">python-nose</test_depend>
3940
<test_depend condition="$ROS_PYTHON_VERSION == 3">python3-nose</test_depend>

jsk_ros_patch/multi_map_server/package.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
<build_depend>rospy</build_depend>
2323
<build_depend>tf</build_depend>
2424

25-
<build_depend>python-imaging</build_depend>
25+
<build_depend condition="$ROS_PYTHON_VERSION == 2">python-imaging</build_depend>
26+
<build_depend condition="$ROS_PYTHON_VERSION == 3">python3-pil</build_depend>
2627
<build_depend condition="$ROS_PYTHON_VERSION == 2">python-yaml</build_depend>
2728
<build_depend condition="$ROS_PYTHON_VERSION == 3">python3-yaml</build_depend>
2829
<build_depend>yaml-cpp</build_depend>

jsk_rosbag_tools/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ catkin_package(
1919
)
2020

2121
if("$ENV{ROS_DISTRO}" STREQUAL "indigo" OR "$ENV{ROS_DISTRO}" STREQUAL "kinetic" OR "$ENV{ROS_DISTRO}" STREQUAL "melodic")
22+
file(MAKE_DIRECTORY $ENV{HOME}/.imageio/ffmpeg)
23+
file(DOWNLOAD https://github.com/imageio/imageio-binaries/raw/e7a7a2aad27decc79a3c2cd675ab4d0201e72e15/ffmpeg/ffmpeg-linux64-v3.3.1
24+
${CMAKE_BINARY_DIR}/ffmpeg-linux64-v3.3.1)
25+
file (COPY ${CMAKE_BINARY_DIR}/ffmpeg-linux64-v3.3.1
26+
DESTINATION $ENV{HOME}/.imageio/ffmpeg/
27+
FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ)
2228
catkin_generate_virtualenv(
2329
INPUT_REQUIREMENTS requirements.in.python2
2430
PYTHON_INTERPRETER python2

jsk_rosbag_tools/package.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
<buildtool_depend condition="$ROS_PYTHON_VERSION == 3">python3-catkin-pkg-modules</buildtool_depend>
1414

1515
<build_depend version_gte="0.5.1">catkin_virtualenv</build_depend>
16+
<build_depend>libjpeg</build_depend>
17+
<build_depend>libwebp-dev</build_depend>
1618

1719
<exec_depend>audio_common_msgs</exec_depend>
1820
<exec_depend>cv_bridge</exec_depend>

jsk_tools/package.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,13 @@
2424
<exec_depend>python-percol</exec_depend>
2525
<exec_depend condition="$ROS_PYTHON_VERSION == 2">python-colorama</exec_depend>
2626
<exec_depend condition="$ROS_PYTHON_VERSION == 3">python3-colorama</exec_depend>
27+
<exec_depend condition="$ROS_PYTHON_VERSION == 2">python-pygithub3</exec_depend>
2728
<exec_depend condition="$ROS_PYTHON_VERSION == 3">python3-github</exec_depend> <!-- python-pygithub3 (pip pygithub3) requres python3-github -->
28-
<exec_depend>python-pygithub3</exec_depend>
2929
<exec_depend condition="$ROS_PYTHON_VERSION == 2">python-progressbar</exec_depend>
3030
<exec_depend condition="$ROS_PYTHON_VERSION == 3">python3-progressbar</exec_depend>
3131
<exec_depend condition="$ROS_PYTHON_VERSION == 2">python-rosdep</exec_depend>
3232
<exec_depend condition="$ROS_PYTHON_VERSION == 3">python3-rosdep</exec_depend>
3333
<exec_depend>python-slacker-cli</exec_depend>
34-
<exec_depend>python-tabulate-pip</exec_depend>
3534
<exec_depend condition="$ROS_PYTHON_VERSION == 2">python-tabulate</exec_depend> <!-- python-tabulate enable since xenial (16.04) kinetic -->
3635
<exec_depend condition="$ROS_PYTHON_VERSION == 3">python3-tabulate</exec_depend>
3736
<exec_depend condition="$ROS_PYTHON_VERSION == 2">python-texttable</exec_depend>

0 commit comments

Comments
 (0)