Skip to content

Nightly

Nightly #1037

Workflow file for this run

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