Skip to content

Multiple CI and README.md Improvements (#324) #390

Multiple CI and README.md Improvements (#324)

Multiple CI and README.md Improvements (#324) #390

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- humble
- jazzy
- kilted
- rolling
workflow_call:
inputs:
branch:
description: "Branch to checkout"
required: false
type: string
default: "rolling"
workflow_dispatch:
jobs:
micro_ros_idf:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
<<<<<<< HEAD

Check failure on line 26 in .github/workflows/ci.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci.yml

Invalid workflow file

You have an error in your yaml syntax on line 26
idf_target: [ esp32, esp32s2, esp32s3, esp32c3, esp32c6, esp32p4]
idf_version: [ "espressif/idf:release-v4.4", "espressif/idf:release-v5.2", "espressif/idf:release-v5.5" ]
exclude:
# Skip IDF v4 + ESP32C6 combination
- idf_target: esp32c6
idf_version: espressif/idf:release-v4.4
# Skip IDF v4 + ESP32-P4 combination
- idf_target: esp32p4
idf_version: espressif/idf:release-v4.4
# Skip IDF v5.2 + ESP32-P4 combination
- idf_target: esp32p4
idf_version: espressif/idf:release-v5.2
=======
idf_target: [esp32, esp32s2, esp32s3, esp32c3, esp32c6]
idf_version: [v5.2, v5.3, v5.4]
>>>>>>> d749ff1 (Multiple CI and README.md Improvements (#324))
container:
image: "espressif/idf:release-${{ matrix.idf_version }}"
steps:
- uses: actions/checkout@v6
with:
path: micro_ros_espidf_component
ref: ${{ inputs.branch || github.ref }}
- name: Dependencies
shell: bash
run: |
. $IDF_PATH/export.sh
<<<<<<< HEAD
pip3 install catkin_pkg lark-parser colcon-common-extensions empy==3.3.4
# This line avoids the error when using Python < 3.7 https://importlib-resources.readthedocs.io/en/latest/
pip3 install importlib-resources
# this installs the modules also for global python interpreter, needed for IDF v5
# IDF 5.5 uses Python 3.12 which has externally-managed-environment protection
if [ "${{ matrix.idf_version }}" == "espressif/idf:release-v5.5" ]; then \
/usr/bin/pip3 install --break-system-packages catkin_pkg lark-parser colcon-common-extensions empy==3.3.4 importlib-resources; \
else \
/usr/bin/pip3 install catkin_pkg lark-parser colcon-common-extensions empy==3.3.4 importlib-resources; \
fi
# This line can be removed when https://github.com/colcon/colcon-python-setup-py/issues/56 is solved
- name: Patch setuptools
shell: bash
if: matrix.idf_version == 'espressif/idf:release-v4.4'
run: |
. $IDF_PATH/export.sh
pip3 install setuptools==68.1.2
=======
pip install catkin_pkg colcon-common-extensions lark
>>>>>>> d749ff1 (Multiple CI and README.md Improvements (#324))
- name: Build sample - int32_publisher
shell: bash
run: |
. $IDF_PATH/export.sh
cd micro_ros_espidf_component/examples/int32_publisher
idf.py set-target ${{ matrix.idf_target }}
idf.py build
- name: Build sample - low_consumption
shell: bash
if: matrix.idf_target != 'esp32c3' && matrix.idf_target != 'esp32s3' && matrix.idf_target != 'esp32c6' && matrix.idf_target != 'esp32p4'
run: |
. $IDF_PATH/export.sh
cd micro_ros_espidf_component/examples/low_consumption
idf.py set-target ${{ matrix.idf_target }}
idf.py build
- name: Build sample - handle_static_types
shell: bash
run: |
. $IDF_PATH/export.sh
cd micro_ros_espidf_component/examples/handle_static_types
idf.py set-target ${{ matrix.idf_target }}
idf.py build
- name: Build sample - int32_publisher_custom_transport
shell: bash
run: |
. $IDF_PATH/export.sh
cd micro_ros_espidf_component
make -f libmicroros.mk clean
sed -i 's/DRMW_UXRCE_TRANSPORT=udp/DRMW_UXRCE_TRANSPORT=custom/' colcon.meta
cd examples/int32_publisher_custom_transport
idf.py set-target ${{ matrix.idf_target }}
idf.py build
- name: Build sample - int32_publisher_custom_transport_usbcdc
shell: bash
if: matrix.idf_target == 'esp32s2' || matrix.idf_target == 'esp32s3'
run: |
. $IDF_PATH/export.sh
cd micro_ros_espidf_component/examples/int32_publisher_custom_transport_usbcdc
idf.py set-target ${{ matrix.idf_target }}
idf.py build
- name: Build sample - multithread_publisher
shell: bash
run: |
. $IDF_PATH/export.sh
cd micro_ros_espidf_component
make -f libmicroros.mk clean
sed -i 's/DRMW_UXRCE_TRANSPORT=udp/DRMW_UXRCE_TRANSPORT=custom/' colcon.meta
cd examples/multithread_publisher
idf.py set-target ${{ matrix.idf_target }}
idf.py build
<<<<<<< HEAD
- name: EmbeddedRTPS
shell: bash
run: |
. $IDF_PATH/export.sh
cd micro_ros_espidf_component
make -f libmicroros.mk clean
cd examples/int32_publisher_embeddedrtps
idf.py set-target ${{ matrix.idf_target }}
idf.py build
=======
>>>>>>> d749ff1 (Multiple CI and README.md Improvements (#324))