-
Notifications
You must be signed in to change notification settings - Fork 117
executable file
·147 lines (134 loc) · 5.15 KB
/
Copy pathci.yml
File metadata and controls
executable file
·147 lines (134 loc) · 5.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
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
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))