Skip to content

Commit 599c714

Browse files
authored
Repare CI for embedded targets (#836)
Signed-off-by: David Laseca Perez <davidlaseca@eprosima.com>
1 parent bfb1e20 commit 599c714

16 files changed

Lines changed: 147 additions & 0 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,18 @@ on:
66
ci_target_ref:
77
required: true
88
type: string
9+
workflow_dispatch:
10+
inputs:
11+
name:
12+
description: "Manual trigger"
913

1014
env:
1115
ROS_DISTRO: rolling
16+
# Pinned to avoid a flaky api.github.com lookup for the latest release
17+
# Keep it updated with the latest version from
18+
# https://github.com/ros-infrastructure/ros-apt-source/releases
19+
# (an outdated version stops working when the ROS repository key changes)
20+
ROS_APT_SOURCE_VERSION: 1.3.0
1221

1322
jobs:
1423

@@ -24,6 +33,14 @@ jobs:
2433
path: src/micro_ros_setup
2534
ref: ${{ inputs.ci_target_ref }}
2635

36+
# Installing the ROS apt source beforehand makes setup-ros skip its
37+
# api.github.com lookup, which is often rate-limited on shared runners
38+
- name: Install ROS apt source
39+
run: |
40+
apt-get update && apt-get install -y ca-certificates curl
41+
curl -fL -o /tmp/ros2-apt-source.deb https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-testing-apt-source_${ROS_APT_SOURCE_VERSION}.resolute_all.deb
42+
apt-get install -y /tmp/ros2-apt-source.deb
43+
2744
- uses: ros-tooling/setup-ros@0.7.19
2845
with:
2946
# Rolling binaries for Ubuntu Resolute are only published to the
@@ -74,6 +91,14 @@ jobs:
7491
path: src/micro_ros_setup
7592
ref: ${{ inputs.ci_target_ref }}
7693

94+
# Installing the ROS apt source beforehand makes setup-ros skip its
95+
# api.github.com lookup, which is often rate-limited on shared runners
96+
- name: Install ROS apt source
97+
run: |
98+
apt-get update && apt-get install -y ca-certificates curl
99+
curl -fL -o /tmp/ros2-apt-source.deb https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-testing-apt-source_${ROS_APT_SOURCE_VERSION}.resolute_all.deb
100+
apt-get install -y /tmp/ros2-apt-source.deb
101+
77102
- uses: ros-tooling/setup-ros@0.7.19
78103
with:
79104
# Rolling binaries for Ubuntu Resolute are only published to the
@@ -227,6 +252,14 @@ jobs:
227252
path: src/micro_ros_setup
228253
ref: ${{ inputs.ci_target_ref }}
229254

255+
# Installing the ROS apt source beforehand makes setup-ros skip its
256+
# api.github.com lookup, which is often rate-limited on shared runners
257+
- name: Install ROS apt source
258+
run: |
259+
apt-get update && apt-get install -y ca-certificates curl
260+
curl -fL -o /tmp/ros2-apt-source.deb https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-testing-apt-source_${ROS_APT_SOURCE_VERSION}.resolute_all.deb
261+
apt-get install -y /tmp/ros2-apt-source.deb
262+
230263
- uses: ros-tooling/setup-ros@0.7.19
231264
with:
232265
# Rolling binaries for Ubuntu Resolute are only published to the

‎config/android/generic/create.sh‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,19 @@ pushd $FW_TARGETDIR >/dev/null
33
# ignore broken packages
44
touch mcu_ws/ros2/rcl_logging/rcl_logging_log4cxx/COLCON_IGNORE
55
touch mcu_ws/ros2/rcl_logging/rcl_logging_spdlog/COLCON_IGNORE
6+
touch mcu_ws/ros2/rcl_logging/rcl_logging_implementation/COLCON_IGNORE
67
touch mcu_ws/ros2/rcl/COLCON_IGNORE
78
touch mcu_ws/ros2_tracing/test_tracetools/COLCON_IGNORE
89
touch mcu_ws/ros2/rosidl/rosidl_typesupport_introspection_cpp/COLCON_IGNORE
910
touch mcu_ws/uros/rcl/rcl_yaml_param_parser/COLCON_IGNORE
1011
touch mcu_ws/uros/rclc/rclc_examples/COLCON_IGNORE
1112
touch mcu_ws/ros2/ros2_tracing/lttngpy/COLCON_IGNORE
13+
# TEMPORARY: rosidl_buffer_py does not exist at the pinned ros2/rosidl commit
14+
# touch mcu_ws/ros2/rosidl/rosidl_buffer_py/COLCON_IGNORE
15+
# TEMPORARY: nothing requires these at the pinned ros2/rosidl commit, and they are
16+
# C++ with exceptions, so they cannot build here
17+
touch mcu_ws/ros2/rosidl/rosidl_buffer/COLCON_IGNORE
18+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend/COLCON_IGNORE
19+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend_registry/COLCON_IGNORE
1220

1321
popd >/dev/null

‎config/freertos/crazyflie21/create.sh‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,20 @@ pushd $FW_TARGETDIR >/dev/null
1313

1414
# ignore broken packages
1515
touch mcu_ws/ros2/rcl_logging/rcl_logging_spdlog/COLCON_IGNORE
16+
touch mcu_ws/ros2/rcl_logging/rcl_logging_implementation/COLCON_IGNORE
1617
touch mcu_ws/ros2/rcl/COLCON_IGNORE
1718
touch mcu_ws/ros2/rosidl/rosidl_typesupport_introspection_cpp/COLCON_IGNORE
1819
touch mcu_ws/ros2/rcpputils/COLCON_IGNORE
1920
touch mcu_ws/ros2/ros2_tracing/test_tracetools/COLCON_IGNORE
2021
touch mcu_ws/uros/rcl/rcl_yaml_param_parser/COLCON_IGNORE
2122
touch mcu_ws/uros/rclc/rclc_examples/COLCON_IGNORE
2223
touch mcu_ws/ros2/ros2_tracing/lttngpy/COLCON_IGNORE
24+
# TEMPORARY: rosidl_buffer_py does not exist at the pinned ros2/rosidl commit
25+
# touch mcu_ws/ros2/rosidl/rosidl_buffer_py/COLCON_IGNORE
26+
# TEMPORARY: nothing requires these at the pinned ros2/rosidl commit, and they are
27+
# C++ with exceptions, so they cannot build here
28+
touch mcu_ws/ros2/rosidl/rosidl_buffer/COLCON_IGNORE
29+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend/COLCON_IGNORE
30+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend_registry/COLCON_IGNORE
2331

2432
popd >/dev/null

‎config/freertos/esp32/build.sh‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ source $FW_TARGETDIR/venv/bin/activate
88
export IDF_TOOLS_PATH=$FW_TARGETDIR/toolchain/espressif
99
export IDF_PATH=$FW_TARGETDIR/toolchain/esp-idf
1010

11+
# ESP-IDF v4.1 vendors third-party trees (mbedtls) whose cmake_minimum_required
12+
# predates 3.5, which CMake 4 rejects outright. Restore the old floor until the
13+
# pinned ESP-IDF is bumped.
14+
export CMAKE_POLICY_VERSION_MINIMUM=3.5
15+
1116
eval $(python3 $FW_TARGETDIR/toolchain/esp-idf/tools/idf_tools.py export --prefer-system)
1217

1318
. $IDF_PATH/export.sh

‎config/freertos/esp32/configure.sh‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ UROS_APP_FOLDER="$FW_TARGETDIR/freertos_apps/apps/$UROS_APP"
5757
export IDF_TOOLS_PATH=$FW_TARGETDIR/toolchain/espressif
5858
export IDF_PATH=$FW_TARGETDIR/toolchain/esp-idf
5959

60+
# ESP-IDF v4.1 vendors third-party trees (mbedtls) whose cmake_minimum_required
61+
# predates 3.5, which CMake 4 rejects outright. Restore the old floor until the
62+
# pinned ESP-IDF is bumped.
63+
export CMAKE_POLICY_VERSION_MINIMUM=3.5
64+
6065
eval $(python3 $FW_TARGETDIR/toolchain/esp-idf/tools/idf_tools.py export --prefer-system)
6166

6267
. $IDF_PATH/export.sh

‎config/freertos/esp32/create.sh‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,20 @@ pushd $FW_TARGETDIR >/dev/null
4747

4848
# ignore broken packages
4949
touch mcu_ws/ros2/rcl_logging/rcl_logging_spdlog/COLCON_IGNORE
50+
touch mcu_ws/ros2/rcl_logging/rcl_logging_implementation/COLCON_IGNORE
5051
touch mcu_ws/ros2/rcl/COLCON_IGNORE
5152
touch mcu_ws/ros2/rosidl/rosidl_typesupport_introspection_cpp/COLCON_IGNORE
5253
touch mcu_ws/ros2/rcpputils/COLCON_IGNORE
5354
touch mcu_ws/ros2/ros2_tracing/test_tracetools/COLCON_IGNORE
5455
touch mcu_ws/uros/rcl/rcl_yaml_param_parser/COLCON_IGNORE
5556
touch mcu_ws/uros/rclc/rclc_examples/COLCON_IGNORE
5657
touch mcu_ws/ros2/ros2_tracing/lttngpy/COLCON_IGNORE
58+
# TEMPORARY: rosidl_buffer_py does not exist at the pinned ros2/rosidl commit
59+
# touch mcu_ws/ros2/rosidl/rosidl_buffer_py/COLCON_IGNORE
60+
# TEMPORARY: nothing requires these at the pinned ros2/rosidl commit, and they are
61+
# C++ with exceptions, so they cannot build here
62+
touch mcu_ws/ros2/rosidl/rosidl_buffer/COLCON_IGNORE
63+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend/COLCON_IGNORE
64+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend_registry/COLCON_IGNORE
5765

5866
popd >/dev/null

‎config/freertos/nucleo_f446re/create.sh‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,20 @@ pushd $FW_TARGETDIR >/dev/null
1414

1515
# ignore broken packages
1616
touch mcu_ws/ros2/rcl_logging/rcl_logging_spdlog/COLCON_IGNORE
17+
touch mcu_ws/ros2/rcl_logging/rcl_logging_implementation/COLCON_IGNORE
1718
touch mcu_ws/ros2/rcl/COLCON_IGNORE
1819
touch mcu_ws/ros2/rosidl/rosidl_typesupport_introspection_cpp/COLCON_IGNORE
1920
touch mcu_ws/ros2/rcpputils/COLCON_IGNORE
2021
touch mcu_ws/ros2/ros2_tracing/test_tracetools/COLCON_IGNORE
2122
touch mcu_ws/uros/rcl/rcl_yaml_param_parser/COLCON_IGNORE
2223
touch mcu_ws/uros/rclc/rclc_examples/COLCON_IGNORE
2324
touch mcu_ws/ros2/ros2_tracing/lttngpy/COLCON_IGNORE
25+
# TEMPORARY: rosidl_buffer_py does not exist at the pinned ros2/rosidl commit
26+
# touch mcu_ws/ros2/rosidl/rosidl_buffer_py/COLCON_IGNORE
27+
# TEMPORARY: nothing requires these at the pinned ros2/rosidl commit, and they are
28+
# C++ with exceptions, so they cannot build here
29+
touch mcu_ws/ros2/rosidl/rosidl_buffer/COLCON_IGNORE
30+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend/COLCON_IGNORE
31+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend_registry/COLCON_IGNORE
2432

2533
popd >/dev/null

‎config/freertos/nucleo_f446ze/create.sh‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,20 @@ pushd $FW_TARGETDIR >/dev/null
1414

1515
# ignore broken packages
1616
touch mcu_ws/ros2/rcl_logging/rcl_logging_spdlog/COLCON_IGNORE
17+
touch mcu_ws/ros2/rcl_logging/rcl_logging_implementation/COLCON_IGNORE
1718
touch mcu_ws/ros2/rcl/COLCON_IGNORE
1819
touch mcu_ws/ros2/rosidl/rosidl_typesupport_introspection_cpp/COLCON_IGNORE
1920
touch mcu_ws/ros2/rcpputils/COLCON_IGNORE
2021
touch mcu_ws/ros2/ros2_tracing/test_tracetools/COLCON_IGNORE
2122
touch mcu_ws/uros/rcl/rcl_yaml_param_parser/COLCON_IGNORE
2223
touch mcu_ws/uros/rclc/rclc_examples/COLCON_IGNORE
2324
touch mcu_ws/ros2/ros2_tracing/lttngpy/COLCON_IGNORE
25+
# TEMPORARY: rosidl_buffer_py does not exist at the pinned ros2/rosidl commit
26+
# touch mcu_ws/ros2/rosidl/rosidl_buffer_py/COLCON_IGNORE
27+
# TEMPORARY: nothing requires these at the pinned ros2/rosidl commit, and they are
28+
# C++ with exceptions, so they cannot build here
29+
touch mcu_ws/ros2/rosidl/rosidl_buffer/COLCON_IGNORE
30+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend/COLCON_IGNORE
31+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend_registry/COLCON_IGNORE
2432

2533
popd >/dev/null

‎config/freertos/nucleo_f746zg/create.sh‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,20 @@ pushd $FW_TARGETDIR >/dev/null
1414

1515
# ignore broken packages
1616
touch mcu_ws/ros2/rcl_logging/rcl_logging_spdlog/COLCON_IGNORE
17+
touch mcu_ws/ros2/rcl_logging/rcl_logging_implementation/COLCON_IGNORE
1718
touch mcu_ws/ros2/rcl/COLCON_IGNORE
1819
touch mcu_ws/ros2/rosidl/rosidl_typesupport_introspection_cpp/COLCON_IGNORE
1920
touch mcu_ws/ros2/rcpputils/COLCON_IGNORE
2021
touch mcu_ws/ros2/ros2_tracing/test_tracetools/COLCON_IGNORE
2122
touch mcu_ws/uros/rcl/rcl_yaml_param_parser/COLCON_IGNORE
2223
touch mcu_ws/uros/rclc/rclc_examples/COLCON_IGNORE
2324
touch mcu_ws/ros2/ros2_tracing/lttngpy/COLCON_IGNORE
25+
# TEMPORARY: rosidl_buffer_py does not exist at the pinned ros2/rosidl commit
26+
# touch mcu_ws/ros2/rosidl/rosidl_buffer_py/COLCON_IGNORE
27+
# TEMPORARY: nothing requires these at the pinned ros2/rosidl commit, and they are
28+
# C++ with exceptions, so they cannot build here
29+
touch mcu_ws/ros2/rosidl/rosidl_buffer/COLCON_IGNORE
30+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend/COLCON_IGNORE
31+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend_registry/COLCON_IGNORE
2432

2533
popd >/dev/null

‎config/freertos/nucleo_f767zi/create.sh‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,20 @@ pushd $FW_TARGETDIR >/dev/null
1414

1515
# ignore broken packages
1616
touch mcu_ws/ros2/rcl_logging/rcl_logging_spdlog/COLCON_IGNORE
17+
touch mcu_ws/ros2/rcl_logging/rcl_logging_implementation/COLCON_IGNORE
1718
touch mcu_ws/ros2/rcl/COLCON_IGNORE
1819
touch mcu_ws/ros2/rosidl/rosidl_typesupport_introspection_cpp/COLCON_IGNORE
1920
touch mcu_ws/ros2/rcpputils/COLCON_IGNORE
2021
touch mcu_ws/ros2/ros2_tracing/test_tracetools/COLCON_IGNORE
2122
touch mcu_ws/uros/rcl/rcl_yaml_param_parser/COLCON_IGNORE
2223
touch mcu_ws/uros/rclc/rclc_examples/COLCON_IGNORE
2324
touch mcu_ws/ros2/ros2_tracing/lttngpy/COLCON_IGNORE
25+
# TEMPORARY: rosidl_buffer_py does not exist at the pinned ros2/rosidl commit
26+
# touch mcu_ws/ros2/rosidl/rosidl_buffer_py/COLCON_IGNORE
27+
# TEMPORARY: nothing requires these at the pinned ros2/rosidl commit, and they are
28+
# C++ with exceptions, so they cannot build here
29+
touch mcu_ws/ros2/rosidl/rosidl_buffer/COLCON_IGNORE
30+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend/COLCON_IGNORE
31+
touch mcu_ws/ros2/rosidl/rosidl_buffer_backend_registry/COLCON_IGNORE
2432

2533
popd >/dev/null

0 commit comments

Comments
 (0)