Nightly #1211
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_idf: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
branch: [iron, rolling, humble] | |
idf_target: [ esp32, esp32s2, esp32c3, esp32s3] | |
idf_version: [ "espressif/idf:release-v4.4", "espressif/idf:release-v5.2" ] | |
container: | |
image: ${{ matrix.idf_version }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
path: micro_ros_espidf_component | |
ref: ${{ matrix.branch }} | |
- name: Dependencies | |
shell: bash | |
run: | | |
apt update | |
export DEBIAN_FRONTEND=noninteractive | |
apt install -y git python3-pip | |
. $IDF_PATH/export.sh | |
pip3 install catkin_pkg lark-parser colcon-common-extensions | |
# 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 | |
/usr/bin/pip3 install catkin_pkg lark-parser colcon-common-extensions importlib-resources | |
# 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 | |
- 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' | |
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 - 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 | |
- name: EmbeddedRTPS | |
if: ${{ matrix.branch == 'humble' }} | |
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 |