Skip to content

Commit b97c14d

Browse files
authored
Merge pull request #262 from k-okada/check_260
add test to check #260 closes #260
2 parents aecceec + dc6cf16 commit b97c14d

File tree

5 files changed

+88
-10
lines changed

5 files changed

+88
-10
lines changed

.github/workflows/config.yml

Lines changed: 73 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ jobs:
9696
TEST_PKGS : ${{ matrix.TEST_PKGS }}
9797
EXTRA_DEB : ${{ matrix.EXTRA_DEB }}
9898

99-
# ROS-O setup https://github.com/v4hn/ros-o-builder/blob/jammy-one/README.md#install-instructions
99+
# ROS-O setup for v4hn https://github.com/v4hn/ros-o-builder/blob/jammy-one/README.md#install-instructions
100+
# ROS-O setup for techfak https://ros.packages.techfak.net/
101+
# note that v4hn uses ROS_DISTRO=one and techfak uses ROS_DISTRO
100102
ros-o:
101103
runs-on: ubuntu-latest
102104

@@ -105,7 +107,13 @@ jobs:
105107
matrix:
106108
include:
107109
- DISTRO: ubuntu:22.04
108-
ROS_REPOSITORY_URL: https://raw.githubusercontent.com/v4hn/ros-o-builder/jammy-one/repository
110+
ROS_ONE_VARIANT: techfak
111+
ROS_REPOSITORY_URL: "deb [trusted=yes] https://ros.packages.techfak.net jammy-testing main"
112+
ROSDEP_PACKAGE_MAPPING: "yaml https://ros.packages.techfak.net/ros-one.yaml ubuntu"
113+
- DISTRO: ubuntu:24.04
114+
ROS_ONE_VARIANT: techfak
115+
ROS_REPOSITORY_URL: "deb [trusted=yes] https://ros.packages.techfak.net noble-testing main"
116+
ROSDEP_PACKAGE_MAPPING: "yaml https://ros.packages.techfak.net/ros-one.yaml ubuntu"
109117

110118
container: ${{ matrix.DISTRO }}
111119

@@ -119,21 +127,44 @@ jobs:
119127
- name: Setup ROS-O deb repository
120128
run: |
121129
set -x
122-
apt update && apt install -qq -y ca-certificates
123-
echo "deb [trusted=yes] ${{ matrix.ROS_REPOSITORY_URL }}/ ./" | tee /etc/apt/sources.list.d/ros-o-builder.list
130+
apt update && apt install -qq -y ca-certificates git
131+
echo ${{ matrix.ROS_REPOSITORY_URL }} | tee /etc/apt/sources.list.d/ros-o-builder.list
132+
##
133+
# https://github.com/v4hn/ros-deb-builder-action/blob/b7c0ed93fde3a86b5b1027bf8f7145cad6067c90/prepare.sh#L27-L28
134+
# Canonical dropped the Debian ROS packages from 24.04 for political reasons. Wow.
135+
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
136+
##
124137
apt update
125-
apt install -qq -y python3-rosdep2
126-
echo "yaml ${{ matrix.ROS_REPOSITORY_URL }}/local.yaml debian" | tee /etc/ros/rosdep/sources.list.d/1-ros-o-builder.list
138+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "v4hn" ]]; then
139+
apt install -qq -y python3-rosdep2
140+
fi
141+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "techfak" ]]; then
142+
# Do not install python3-rosdep2, which is an outdated version of rosdep shipped via the Ubuntu repositories (instead of ROS)!
143+
apt install -qq -y python3-rosdep
144+
rosdep init
145+
fi
146+
echo ${{ matrix.ROSDEP_PACKAGE_MAPPING }} | tee /etc/ros/rosdep/sources.list.d/1-ros-o-builder.list
147+
if [[ "${{ matrix.DISTRO }}" == "ubuntu:24.04" ]]; then
148+
echo "yaml file://$GITHUB_WORKSPACE/.github/workflows/rosdep-24.04.yaml ubuntu" | tee /etc/ros/rosdep/sources.list.d/00-custom-rosdep.list
149+
fi
127150
rosdep update
151+
shell: bash
128152

129153
- name: Setup catkin-tools
130154
run: |
131155
set -x
132156
# setup catkin tools
133157
apt install -qq -y python3-pip
134-
pip3 install catkin-tools
158+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "v4hn" ]]; then
159+
pip3 install catkin-tools==0.9.4
160+
apt install -qq -y catkin
161+
fi
162+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "techfak" ]]; then
163+
apt install -qq -y ros-one-catkin python3-catkin-tools
164+
fi
135165
# setup build tools
136-
apt install -qq -y cmake build-essential catkin ros-one-rosbash
166+
apt install -qq -y cmake build-essential ros-one-rosbash
167+
shell: bash
137168

138169
- name: Setup Workspace
139170
run: |
@@ -142,8 +173,17 @@ jobs:
142173
# setup workspace
143174
mkdir -p ~/ws/src
144175
cd ~/ws/src
176+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "techfak" ]]; then
177+
# TODO: remove these lines and uncomment https://github.com/ubi-agni/ros-builder-action/blob/191fab06004ad5784c28cf2ba2b18f6d163a860d/ros-one.repos#L1089
178+
git clone https://github.com/locusrobotics/catkin_virtualenv.git
179+
fi
145180
ln -sf $GITHUB_WORKSPACE .
146181
rosdep install -qq -r -y --from-path . --ignore-src || echo "OK"
182+
# check all system packages are able to install, because ROS-O build deb files that needs all packages
183+
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
184+
# catkin_tools is not available on v4hn/jammy
185+
if [[ "${{ matrix.ROS_ONE_VARIANT }}" == "v4hn" ]]; then sed -i '/python3-catkin-tools/s/^/#/' rosdep-install.sh; fi
186+
sed 's/apt-get install/apt-get -y install/;/install ros-one/s/^/#/;/pip3 install/s/^/#/' rosdep-install.sh | bash -xe
147187
shell: bash
148188

149189
- name: Compile Packages
@@ -153,3 +193,28 @@ jobs:
153193
cd ~/ws/
154194
catkin build --no-status -sv ${{ matrix.CATKIN_OPTIONS }} --cmake-args -DCATKIN_ENABLE_TESTING=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ${{ matrix.CMAKE_OPTIONS }}
155195
shell: bash
196+
197+
- name: Test Packages
198+
run: |
199+
source /opt/ros/one/setup.bash
200+
set -x
201+
cd ~/ws/
202+
rosdep install -qq -r -y --from-path . --ignore-src || echo "OK"
203+
catkin build --force-cmake --no-status -sv ${{ matrix.CATKIN_OPTIONS }} --cmake-args -DCATKIN_ENABLE_TESTING=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ${{ matrix.CMAKE_OPTIONS }}
204+
catkin test --no-status -sv ${{ matrix.CATKIN_OPTIONS }} --cmake-args -DCATKIN_ENABLE_TESTING=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ${{ matrix.CMAKE_OPTIONS }}
205+
catkin_test_results --verbose --all
206+
shell: bash
207+
208+
- name: Test spoteus, see https://github.com/jsk-ros-pkg/jsk_model_tools/pull/260
209+
run: |
210+
source /opt/ros/one/setup.bash
211+
set -x
212+
cd ~/ws/src
213+
apt install -qq -y git curl ros-one-xacro
214+
git clone https://github.com/k-okada/spot_ros-arm -b arm
215+
curl -sLO https://raw.githubusercontent.com/k-okada/jsk_robot/refs/heads/spot_arm/jsk_spot_robot/spoteus/spot.yaml
216+
catkin build spot_description --no-status -sv ${{ matrix.CATKIN_OPTIONS }} --cmake-args -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ${{ matrix.CMAKE_OPTIONS }}
217+
source ~/ws/devel/setup.bash
218+
rosrun xacro xacro $(rospack find spot_description)/urdf/spot.urdf.xacro -o /tmp/spot.urdf
219+
rosrun euscollada collada2eus /tmp/spot.urdf ./spot.yaml /tmp/spot.l
220+
shell: bash

.github/workflows/rosdep-24.04.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
gazebo_ros:
2+
debian: []
3+
ubuntu: []
4+

euscollada/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ execute_process(
88
RESULT_VARIABLE rosversion_ge_indigo)
99

1010
# noetic collada_urdf could not find_packag-ed due to https://github.com/ros/collada_urdf/issues/43
11-
if("$ENV{ROS_DISTRO}" STREQUAL "noetic")
11+
if("$ENV{ROS_DISTRO}" STREQUAL "noetic" OR "$ENV{ROS_DISTRO}" STREQUAL "one")
1212
set(collada_urdf_CONFIG_INCLUDED TRUE)
1313
set(libraries "collada_urdf")
1414
foreach(library ${libraries})

eusurdf/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,14 @@ find_package(catkin REQUIRED)
66
catkin_package()
77

88
include(cmake/eusurdf.cmake)
9+
find_package(catkin QUIET COMPONENTS gazebo_ros)
10+
if(gazebo_ros_FOUND)
911
convert_eusmodel_to_urdf()
1012
convert_eusscene_to_gazebo_world()
1113
convert_eusscene_to_urdf_xacro()
14+
else()
15+
message(WARNING "gazebo_ros package is not found, skip converting eusmodel to urdf")
16+
endif()
1217

1318
set(INSTALL_DIRS models textured_models worlds launch euslisp)
1419

urdf_mesh_converter/requirements.in

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
Pillow==8.4.0
22
networkx==2.2.0
33
numpy==1.22.1
4-
pycollada!=0.7
4+
pycollada==0.8
55
scipy==1.10.1
66
trimesh==4.1.3
7+
decorator==5.1.1 # via networkx
8+
python-dateutil==2.9.0.post0 # via pycollada
9+
scipy==1.10.1 # via -r requirements.in
10+
six==1.17.0 # via python-dateutil

0 commit comments

Comments
 (0)