|
1 | 1 | name: Nightly |
2 | 2 |
|
3 | 3 | on: |
4 | | - workflow_dispatch: |
5 | | - inputs: |
6 | | - name: |
7 | | - description: "Manual trigger" |
8 | 4 | schedule: |
9 | | - - cron: '0 4 * * *' |
| 5 | + - cron: '0 4 * * *' |
| 6 | + workflow_dispatch: |
10 | 7 |
|
11 | 8 | jobs: |
12 | 9 | micro_ros_idf: |
13 | | - runs-on: ubuntu-latest |
14 | 10 | strategy: |
15 | 11 | fail-fast: false |
16 | 12 | matrix: |
17 | | - branch: [rolling, jazzy, humble] |
18 | | - idf_target: [ esp32, esp32s2, esp32c3, esp32s3, esp32c6, esp32p4] |
19 | | - idf_version: [ "espressif/idf:release-v4.4", "espressif/idf:release-v5.2", "espressif/idf:release-v5.5" ] |
20 | | - exclude: |
21 | | - # Skip IDF v4 + ESP32C6 combination |
22 | | - - idf_target: esp32c6 |
23 | | - idf_version: espressif/idf:release-v4.4 |
24 | | - # Skip IDF v4 + ESP32-P4 combination |
25 | | - - idf_target: esp32p4 |
26 | | - idf_version: espressif/idf:release-v4.4 |
27 | | - # Skip IDF v5.2 + ESP32-P4 combination |
28 | | - - idf_target: esp32p4 |
29 | | - idf_version: espressif/idf:release-v5.2 |
30 | | - |
31 | | - |
32 | | - container: |
33 | | - image: ${{ matrix.idf_version }} |
34 | | - |
35 | | - steps: |
36 | | - - uses: actions/checkout@v2 |
37 | | - with: |
38 | | - path: micro_ros_espidf_component |
39 | | - ref: ${{ matrix.branch }} |
40 | | - |
41 | | - - name: Dependencies |
42 | | - shell: bash |
43 | | - run: | |
44 | | - apt update |
45 | | - export DEBIAN_FRONTEND=noninteractive |
46 | | - apt install -y git python3-pip |
47 | | - . $IDF_PATH/export.sh |
48 | | - pip3 install catkin_pkg lark-parser colcon-common-extensions |
49 | | - # This line avoids the error when using Python < 3.7 https://importlib-resources.readthedocs.io/en/latest/ |
50 | | - pip3 install importlib-resources |
51 | | - # this installs the modules also for global python interpreter, needed for IDF v5 |
52 | | - # IDF 5.5 uses Python 3.12 which has externally-managed-environment protection |
53 | | - if [ "${{ matrix.idf_version }}" == "espressif/idf:release-v5.5" ]; then \ |
54 | | - /usr/bin/pip3 install --break-system-packages catkin_pkg lark-parser colcon-common-extensions importlib-resources; \ |
55 | | - else \ |
56 | | - /usr/bin/pip3 install catkin_pkg lark-parser colcon-common-extensions importlib-resources; \ |
57 | | - fi |
58 | | -
|
59 | | - # This line can be removed when https://github.com/colcon/colcon-python-setup-py/issues/56 is solved |
60 | | - - name: Patch setuptools |
61 | | - shell: bash |
62 | | - if: matrix.idf_version == 'espressif/idf:release-v4.4' |
63 | | - run: | |
64 | | - . $IDF_PATH/export.sh |
65 | | - pip3 install setuptools==68.1.2 |
66 | | -
|
67 | | - - name: Build sample - int32_publisher |
68 | | - shell: bash |
69 | | - run: | |
70 | | - . $IDF_PATH/export.sh |
71 | | - cd micro_ros_espidf_component/examples/int32_publisher |
72 | | - idf.py set-target ${{ matrix.idf_target }} |
73 | | - idf.py build |
74 | | -
|
75 | | - - name: Build sample - low_consumption |
76 | | - shell: bash |
77 | | - if: matrix.idf_target != 'esp32c3' && matrix.idf_target != 'esp32s3' && matrix.idf_target != 'esp32c6' && matrix.idf_target != 'esp32p4' |
78 | | - run: | |
79 | | - . $IDF_PATH/export.sh |
80 | | - cd micro_ros_espidf_component/examples/low_consumption |
81 | | - idf.py set-target ${{ matrix.idf_target }} |
82 | | - idf.py build |
83 | | -
|
84 | | - - name: Build sample - handle_static_types |
85 | | - shell: bash |
86 | | - run: | |
87 | | - . $IDF_PATH/export.sh |
88 | | - cd micro_ros_espidf_component/examples/handle_static_types |
89 | | - idf.py set-target ${{ matrix.idf_target }} |
90 | | - idf.py build |
91 | | -
|
92 | | - - name: Build sample - int32_publisher_custom_transport |
93 | | - shell: bash |
94 | | - run: | |
95 | | - . $IDF_PATH/export.sh |
96 | | - cd micro_ros_espidf_component |
97 | | - make -f libmicroros.mk clean |
98 | | - sed -i 's/DRMW_UXRCE_TRANSPORT=udp/DRMW_UXRCE_TRANSPORT=custom/' colcon.meta |
99 | | - cd examples/int32_publisher_custom_transport |
100 | | - idf.py set-target ${{ matrix.idf_target }} |
101 | | - idf.py build |
102 | | -
|
103 | | - - name: Build sample - multithread_publisher |
104 | | - shell: bash |
105 | | - run: | |
106 | | - . $IDF_PATH/export.sh |
107 | | - cd micro_ros_espidf_component |
108 | | - make -f libmicroros.mk clean |
109 | | - sed -i 's/DRMW_UXRCE_TRANSPORT=udp/DRMW_UXRCE_TRANSPORT=custom/' colcon.meta |
110 | | - cd examples/multithread_publisher |
111 | | - idf.py set-target ${{ matrix.idf_target }} |
112 | | - idf.py build |
113 | | -
|
114 | | - - name: EmbeddedRTPS |
115 | | - if: ${{ matrix.branch == 'humble' }} |
116 | | - shell: bash |
117 | | - run: | |
118 | | - . $IDF_PATH/export.sh |
119 | | - cd micro_ros_espidf_component |
120 | | - make -f libmicroros.mk clean |
121 | | - cd examples/int32_publisher_embeddedrtps |
122 | | - idf.py set-target ${{ matrix.idf_target }} |
123 | | - idf.py build |
| 13 | + branch: [humble, jazzy, kilted, rolling] |
| 14 | + uses: ./.github/workflows/ci.yml |
| 15 | + with: |
| 16 | + branch: ${{ matrix.branch }} |
0 commit comments