Skip to content

Bump upload_artifact #804

Bump upload_artifact

Bump upload_artifact #804

Workflow file for this run

name: CI
on:
workflow_call:
inputs:
ci_target_ref:
required: true
type: string
env:
ROS_DISTRO: jazzy
jobs:
micro_ros_build:
runs-on: ubuntu-latest
container:
image: ubuntu:24.04
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
path: src/micro_ros_setup
ref: ${{ inputs.ci_target_ref }}
- uses: ros-tooling/setup-ros@0.7.7
with:
use-ros2-testing: false
required-ros-distributions: ${{ env.ROS_DISTRO }}
- name: Dependencies
run: |
apt update
rosdep update --rosdistro ${{ env.ROS_DISTRO }}
rosdep install --rosdistro ${{ env.ROS_DISTRO }} -y --from-paths src --ignore-src -y
- name: Build
run: |
. /opt/ros/${{ env.ROS_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@@v4.4.0
with:
name: micro_ros_build_${{ inputs.ci_target_ref }}
path: install
micro_ros_agent:
runs-on: ubuntu-latest
container:
image: ubuntu:24.04
strategy:
fail-fast: false
needs: micro_ros_build
steps:
- uses: actions/checkout@v4
with:
path: src/micro_ros_setup
ref: ${{ inputs.ci_target_ref }}
- uses: ros-tooling/setup-ros@0.7.7
with:
use-ros2-testing: false
required-ros-distributions: ${{ env.ROS_DISTRO }}
- name: dependencies
run: |
apt update
apt install -y ros-${{ env.ROS_DISTRO }}-rmw-fastrtps-cpp
rosdep update --rosdistro ${{ env.ROS_DISTRO }}
rosdep install --rosdistro ${{ env.ROS_DISTRO }} -y --from-paths src --ignore-src -y
- uses: actions/download-artifact@v4.1.7
with:
name: micro_ros_build_${{ inputs.ci_target_ref }}
path: install
# Workaround https://github.com/actions/upload-artifact/issues/38
- run: |
chmod +x -R install
- name: build
run: |
. /opt/ros/${{ env.ROS_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
micro_ros_client:
runs-on: ubuntu-latest
needs: micro_ros_build
container:
image: ubuntu:24.04
strategy:
fail-fast: false
matrix:
include:
- rtos: host
platform: null
configuration: null
transport_arguments: null
binary: 'install/micro_ros_demos_rclc/lib/micro_ros_demos_rclc/int32_publisher/int32_publisher'
- 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'
- rtos: freertos
platform: crazyflie21
configuration: crazyflie_position_publisher
transport_arguments: -t serial -d 1
binary: 'firmware/freertos_apps/microros_crazyflie21_extensions/cf2.bin'
- 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'
- 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'
- 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'
- 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'
- 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'
- rtos: freertos
platform: esp32
configuration: int32_publisher
transport_arguments: -t serial -d 1
binary: 'firmware/freertos_apps/microros_esp32_extensions/build/int32_publisher.elf'
- rtos: zephyr
platform: olimex-stm32-e407
configuration: int32_publisher
transport_arguments: -t serial-usb
binary: 'firmware/build/zephyr/zephyr.bin'
- rtos: zephyr
platform: discovery_l475_iot1
configuration: int32_publisher
transport_arguments: -t serial-usb
binary: 'firmware/build/zephyr/zephyr.bin'
- rtos: zephyr
platform: nucleo_h743zi
configuration: int32_publisher
transport_arguments: -t serial -d 3
binary: 'firmware/build/zephyr/zephyr.bin'
- rtos: zephyr
platform: nucleo_f746zg
configuration: int32_publisher
transport_arguments: -t serial -d 3
binary: 'firmware/build/zephyr/zephyr.bin'
- rtos: zephyr
platform: host
configuration: ping_pong
transport_arguments: -t udp -i 192.168.1.1 -p 8080
binary: 'firmware/build/zephyr/zephyr.exe'
- rtos: raspbian
platform: buster_v7
configuration: agent_lite
binary: 'firmware/bin/micro_ros_agent_lite'
- rtos: raspbian
platform: buster_v7
configuration: weather_publisher
binary: 'firmware/bin/weather_publisher'
steps:
- uses: actions/checkout@v4
with:
path: src/micro_ros_setup
ref: ${{ inputs.ci_target_ref }}
- uses: ros-tooling/setup-ros@0.7.7
with:
use-ros2-testing: false
required-ros-distributions: ${{ env.ROS_DISTRO }}
- name: Dependencies
run: |
apt update
apt upgrade -y
apt-get update
rosdep update --rosdistro ${{ env.ROS_DISTRO }}
rosdep install --rosdistro ${{ env.ROS_DISTRO }} -y --from-paths src --ignore-src -y
- uses: actions/download-artifact@v4.1.7
with:
name: micro_ros_build_${{ inputs.ci_target_ref }}
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/${{ env.ROS_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