Nightly #1039
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Nightly | |
on: | |
workflow_dispatch: | |
inputs: | |
name: | |
description: "Manual trigger" | |
schedule: | |
- cron: '0 4 * * *' | |
jobs: | |
micro_ros_build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
container: | |
image: ${{ matrix.image }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
path: src/micro_ros_setup | |
ref: ${{ matrix.branch }} | |
- uses: ros-tooling/[email protected] | |
with: | |
use-ros2-testing: false | |
required-ros-distributions: ${{ matrix.distro }} | |
- name: Dependencies | |
run: | | |
apt update | |
apt install -y python3-colcon-metadata python3-pip | |
rosdep update --rosdistro ${{ matrix.distro }} | |
rosdep install --rosdistro ${{ matrix.distro }} -y --from-paths src --ignore-src -y | |
- name: Build | |
run: | | |
. /opt/ros/${{ matrix.distro }}/setup.sh | |
colcon build | |
- name: Install micro-ROS build system | |
run: | | |
(test -f install/micro_ros_setup/lib/micro_ros_setup/build_firmware.sh) && true || false | |
- uses: actions/upload-artifact@v1 | |
with: | |
name: micro_ros_build_${{ matrix.branch }} | |
path: install | |
micro_ros_client: | |
runs-on: ubuntu-latest | |
needs: micro_ros_build | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: host | |
platform: null | |
configuration: null | |
transport_arguments: null | |
binary: 'install/micro_ros_demos_rclc/lib/micro_ros_demos_rclc/int32_publisher/int32_publisher' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: generate_lib | |
platform: null | |
configuration: null | |
transport_arguments: null | |
build_arguments: $(pwd)/src/micro_ros_setup/config/generate_lib/generic/demo_toolchain.cmake | |
binary: 'firmware/build/libmicroros.a' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: crazyflie21 | |
configuration: crazyflie_position_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_crazyflie21_extensions/cf2.bin' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: olimex-stm32-e407 | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_olimex_e407_extensions/build/micro-ROS.elf' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f446re | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f446re_extensions/build/micro-ROS.elf' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f446ze | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f446ze_extensions/build/micro-ROS.elf' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f746zg | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f746zg_extensions/build/micro-ROS.elf' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f767zi | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f767zi_extensions/build/micro-ROS.elf' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: esp32 | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_esp32_extensions/build/int32_publisher.elf' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: olimex-stm32-e407 | |
configuration: int32_publisher | |
transport_arguments: -t serial-usb | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: discovery_l475_iot1 | |
configuration: int32_publisher | |
transport_arguments: -t serial-usb | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: nucleo_h743zi | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 3 | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: nucleo_f746zg | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 3 | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: host | |
configuration: ping_pong | |
transport_arguments: -t udp -i 192.168.1.1 -p 8080 | |
binary: 'firmware/build/zephyr/zephyr.exe' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: raspbian | |
platform: buster_v7 | |
configuration: agent_lite | |
binary: 'firmware/bin/micro_ros_agent_lite' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: raspbian | |
platform: buster_v7 | |
configuration: weather_publisher | |
binary: 'firmware/bin/weather_publisher' | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
rtos: mbed | |
platform: disco_l475vg_iot01a | |
binary: 'firmware/micro_ros_mbed/cmake_build/DISCO_L475VG_IOT01A/develop/GCC_ARM/micro_ros_mbed.bin' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: host | |
platform: null | |
configuration: null | |
transport_arguments: null | |
binary: 'install/micro_ros_demos_rclc/lib/micro_ros_demos_rclc/int32_publisher/int32_publisher' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: generate_lib | |
platform: null | |
configuration: null | |
transport_arguments: null | |
build_arguments: $(pwd)/src/micro_ros_setup/config/generate_lib/generic/demo_toolchain.cmake | |
binary: 'firmware/build/libmicroros.a' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: crazyflie21 | |
configuration: crazyflie_position_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_crazyflie21_extensions/cf2.bin' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: olimex-stm32-e407 | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_olimex_e407_extensions/build/micro-ROS.elf' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f446re | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f446re_extensions/build/micro-ROS.elf' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f446ze | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f446ze_extensions/build/micro-ROS.elf' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f746zg | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f746zg_extensions/build/micro-ROS.elf' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f767zi | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f767zi_extensions/build/micro-ROS.elf' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: esp32 | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_esp32_extensions/build/int32_publisher.elf' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: olimex-stm32-e407 | |
configuration: int32_publisher | |
transport_arguments: -t serial-usb | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: discovery_l475_iot1 | |
configuration: int32_publisher | |
transport_arguments: -t serial-usb | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: nucleo_h743zi | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 3 | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: nucleo_f746zg | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 3 | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: host | |
configuration: ping_pong | |
transport_arguments: -t udp -i 192.168.1.1 -p 8080 | |
binary: 'firmware/build/zephyr/zephyr.exe' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: raspbian | |
platform: buster_v7 | |
configuration: agent_lite | |
binary: 'firmware/bin/micro_ros_agent_lite' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: raspbian | |
platform: buster_v7 | |
configuration: weather_publisher | |
binary: 'firmware/bin/weather_publisher' | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
rtos: mbed | |
platform: disco_l475vg_iot01a | |
binary: 'firmware/micro_ros_mbed/cmake_build/DISCO_L475VG_IOT01A/develop/GCC_ARM/micro_ros_mbed.bin' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: host | |
platform: null | |
configuration: null | |
transport_arguments: null | |
binary: 'install/micro_ros_demos_rclc/lib/micro_ros_demos_rclc/int32_publisher/int32_publisher' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: generate_lib | |
platform: null | |
configuration: null | |
transport_arguments: null | |
build_arguments: $(pwd)/src/micro_ros_setup/config/generate_lib/generic/demo_toolchain.cmake | |
binary: 'firmware/build/libmicroros.a' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: crazyflie21 | |
configuration: crazyflie_position_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_crazyflie21_extensions/cf2.bin' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: olimex-stm32-e407 | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_olimex_e407_extensions/build/micro-ROS.elf' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f446re | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f446re_extensions/build/micro-ROS.elf' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f446ze | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f446ze_extensions/build/micro-ROS.elf' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f746zg | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f746zg_extensions/build/micro-ROS.elf' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: nucleo_f767zi | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_nucleo_f767zi_extensions/build/micro-ROS.elf' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: freertos | |
platform: esp32 | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 1 | |
binary: 'firmware/freertos_apps/microros_esp32_extensions/build/int32_publisher.elf' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: olimex-stm32-e407 | |
configuration: int32_publisher | |
transport_arguments: -t serial-usb | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: discovery_l475_iot1 | |
configuration: int32_publisher | |
transport_arguments: -t serial-usb | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: nucleo_h743zi | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 3 | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: nucleo_f746zg | |
configuration: int32_publisher | |
transport_arguments: -t serial -d 3 | |
binary: 'firmware/build/zephyr/zephyr.bin' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: zephyr | |
platform: host | |
configuration: ping_pong | |
transport_arguments: -t udp -i 192.168.1.1 -p 8080 | |
binary: 'firmware/build/zephyr/zephyr.exe' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: raspbian | |
platform: buster_v7 | |
configuration: agent_lite | |
binary: 'firmware/bin/micro_ros_agent_lite' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: raspbian | |
platform: buster_v7 | |
configuration: weather_publisher | |
binary: 'firmware/bin/weather_publisher' | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
rtos: mbed | |
platform: disco_l475vg_iot01a | |
binary: 'firmware/micro_ros_mbed/cmake_build/DISCO_L475VG_IOT01A/develop/GCC_ARM/micro_ros_mbed.bin' | |
container: | |
image: ${{ matrix.image }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
path: src/micro_ros_setup | |
ref: ${{ matrix.branch }} | |
- uses: ros-tooling/[email protected] | |
with: | |
use-ros2-testing: false | |
required-ros-distributions: ${{ matrix.distro }} | |
- name: Dependencies | |
run: | | |
apt update | |
apt upgrade -y | |
# Install last version of CMake | |
apt install -y python3-colcon-metadata python3-pip cmake | |
rosdep update --rosdistro ${{ matrix.distro }} | |
rosdep install --rosdistro ${{ matrix.distro }} -y --from-paths src --ignore-src -y | |
- uses: actions/download-artifact@v1 | |
with: | |
name: micro_ros_build_${{ matrix.branch }} | |
path: install | |
# Workaround https://github.com/actions/upload-artifact/issues/38 | |
- run: | | |
chmod +x -R install | |
- name: Configure and build micro-ROS | |
run: | | |
. /opt/ros/${{ matrix.distro }}/setup.sh | |
. install/local_setup.sh | |
ros2 run micro_ros_setup create_firmware_ws.sh ${{ matrix.rtos }} ${{ matrix.platform }} | |
ros2 run micro_ros_setup configure_firmware.sh ${{ matrix.configuration }} ${{ matrix.transport_arguments }} | |
ros2 run micro_ros_setup build_firmware.sh ${{ matrix.build_arguments }} | |
- name: Check binaries | |
run: | | |
(test -f ${{ matrix.binary }}) && true || false | |
micro_ros_agent: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- distro: rolling | |
branch: rolling | |
image: ubuntu:jammy | |
- distro: iron | |
branch: iron | |
image: ubuntu:jammy | |
- distro: humble | |
branch: humble | |
image: ubuntu:jammy | |
container: | |
image: ${{ matrix.image }} | |
needs: micro_ros_build | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
path: src/micro_ros_setup | |
ref: ${{ matrix.branch }} | |
- uses: ros-tooling/[email protected] | |
with: | |
use-ros2-testing: false | |
required-ros-distributions: ${{ matrix.distro }} | |
- name: dependencies | |
run: | | |
apt update | |
apt install -y python3-colcon-metadata python3-pip | |
rosdep update --rosdistro ${{ matrix.distro }} | |
rosdep install --rosdistro ${{ matrix.distro }} -y --from-paths src --ignore-src -y | |
apt install -y ros-${{ matrix.distro }}-rmw-fastrtps-cpp | |
- uses: actions/download-artifact@v1 | |
with: | |
name: micro_ros_build_${{ matrix.branch }} | |
path: install | |
# Workaround https://github.com/actions/upload-artifact/issues/38 | |
- run: | | |
chmod +x -R install | |
- name: build | |
run: | | |
. /opt/ros/${{ matrix.distro }}/setup.sh | |
. install/local_setup.sh | |
ros2 run micro_ros_setup create_agent_ws.sh | |
ros2 run micro_ros_setup build_agent.sh | |
- name: installation | |
run: | | |
(test -f install/micro_ros_agent/lib/micro_ros_agent/micro_ros_agent) && true || false |