Skip to content

CI without docker POC #215

CI without docker POC

CI without docker POC #215

Workflow file for this run

name: CI
on:
workflow_dispatch:
inputs:
name:
description: "Manual trigger"
pull_request:
branches: ["rolling", "kilted", "jazzy", "humble"]
jobs:
micro_ros_zephyr_module:
runs-on: ubuntu-latest
env:
CMAKE_PREFIX_PATH: /opt/toolchains
strategy:
fail-fast: false
matrix:
zephyr_version: ["v4.0.0", "v4.1.0"]
steps:
- uses: actions/checkout@v4
with:
path: micro_ros_zephyr_module
- name: Install Zephyr build dependencies
run: |
sudo apt -y update
sudo apt -y install \
git cmake ninja-build gperf ccache dfu-util \
device-tree-compiler wget xz-utils file make gcc g++ \
python3-pip python3-venv python3-dev
- name: Build
shell: bash
run: |
# Zephyr setup
pip3 install --user west
export PATH="$HOME/.local/bin:$PATH"
west init
cd zephyr
git checkout ${{ matrix.zephyr_version }}
cd ..
west update --narrow
# Installing micro-ROS prerequisites
pip3 install --user catkin_pkg lark-parser empy colcon-common-extensions
export PATH="$HOME/.local/bin:$PATH"
if [[ "${{ github.ref_name }}" == "humble" ]] || [[ "${{ github.head_ref }}" == *"humble"* ]]; then
# Use empy version 3.3.4 for Humble
pip3 install --user empy==3.3.4
fi
# Build with Serial USB transport
west build -b disco_l475_iot1 "$GITHUB_WORKSPACE/micro_ros_zephyr_module" -p -- -DCONFIG_MICROROS_TRANSPORT_SERIAL_USB=y
# Build with Serial transport
west build -b disco_l475_iot1 "$GITHUB_WORKSPACE/micro_ros_zephyr_module" -p -- -DCONFIG_MICROROS_TRANSPORT_SERIAL=y