Skip to content

Commit acc3bbb

Browse files
Amronosmergify[bot]
authored andcommitted
Multiple CI and README.md Improvements (#324)
Also removed CI compatibility and mentions of ESP-IDF v4.4 as it's been declared EOL by Espressif. - (cherry picked from commit d749ff1) # Conflicts: # .github/workflows/ci.yml # .github/workflows/nightly.yml # README.md
1 parent 160b103 commit acc3bbb

3 files changed

Lines changed: 59 additions & 24 deletions

File tree

.github/workflows/ci.yml

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,28 @@ name: CI
22

33
on:
44
pull_request:
5+
push:
56
branches:
6-
- '**'
7+
- humble
8+
- jazzy
9+
- kilted
10+
- rolling
11+
workflow_call:
12+
inputs:
13+
branch:
14+
description: "Branch to checkout"
15+
required: false
16+
type: string
17+
default: "rolling"
18+
workflow_dispatch:
719

820
jobs:
9-
1021
micro_ros_idf:
1122
runs-on: ubuntu-latest
1223
strategy:
1324
fail-fast: false
1425
matrix:
26+
<<<<<<< HEAD
1527
idf_target: [ esp32, esp32s2, esp32s3, esp32c3, esp32c6, esp32p4]
1628
idf_version: [ "espressif/idf:release-v4.4", "espressif/idf:release-v5.2", "espressif/idf:release-v5.5" ]
1729
exclude:
@@ -24,22 +36,25 @@ jobs:
2436
# Skip IDF v5.2 + ESP32-P4 combination
2537
- idf_target: esp32p4
2638
idf_version: espressif/idf:release-v5.2
39+
=======
40+
idf_target: [esp32, esp32s2, esp32s3, esp32c3, esp32c6]
41+
idf_version: [v5.2, v5.3, v5.4]
42+
>>>>>>> d749ff1 (Multiple CI and README.md Improvements (#324))
2743

2844
container:
29-
image: ${{ matrix.idf_version }}
45+
image: "espressif/idf:release-${{ matrix.idf_version }}"
3046

3147
steps:
32-
- uses: actions/checkout@v2
48+
- uses: actions/checkout@v6
3349
with:
3450
path: micro_ros_espidf_component
51+
ref: ${{ inputs.branch || github.ref }}
3552

3653
- name: Dependencies
3754
shell: bash
3855
run: |
39-
apt update
40-
export DEBIAN_FRONTEND=noninteractive
41-
apt install -y git python3-pip
4256
. $IDF_PATH/export.sh
57+
<<<<<<< HEAD
4358
pip3 install catkin_pkg lark-parser colcon-common-extensions empy==3.3.4
4459
# This line avoids the error when using Python < 3.7 https://importlib-resources.readthedocs.io/en/latest/
4560
pip3 install importlib-resources
@@ -58,6 +73,9 @@ jobs:
5873
run: |
5974
. $IDF_PATH/export.sh
6075
pip3 install setuptools==68.1.2
76+
=======
77+
pip install catkin_pkg colcon-common-extensions lark
78+
>>>>>>> d749ff1 (Multiple CI and README.md Improvements (#324))
6179

6280
- name: Build sample - int32_publisher
6381
shell: bash
@@ -97,7 +115,7 @@ jobs:
97115
98116
- name: Build sample - int32_publisher_custom_transport_usbcdc
99117
shell: bash
100-
if: (matrix.idf_target == 'esp32s2' || matrix.idf_target == 'esp32s3') && matrix.idf_version == 'espressif/idf:release-v5.2'
118+
if: matrix.idf_target == 'esp32s2' || matrix.idf_target == 'esp32s3'
101119
run: |
102120
. $IDF_PATH/export.sh
103121
cd micro_ros_espidf_component/examples/int32_publisher_custom_transport_usbcdc
@@ -114,6 +132,7 @@ jobs:
114132
cd examples/multithread_publisher
115133
idf.py set-target ${{ matrix.idf_target }}
116134
idf.py build
135+
<<<<<<< HEAD
117136

118137
- name: EmbeddedRTPS
119138
shell: bash
@@ -123,4 +142,6 @@ jobs:
123142
make -f libmicroros.mk clean
124143
cd examples/int32_publisher_embeddedrtps
125144
idf.py set-target ${{ matrix.idf_target }}
126-
idf.py build
145+
idf.py build
146+
=======
147+
>>>>>>> d749ff1 (Multiple CI and README.md Improvements (#324))

.github/workflows/nightly.yml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
name: Nightly
22

33
on:
4-
workflow_dispatch:
5-
inputs:
6-
name:
7-
description: "Manual trigger"
84
schedule:
9-
- cron: '0 4 * * *'
5+
- cron: '0 4 * * *'
6+
workflow_dispatch:
107

118
jobs:
129
micro_ros_idf:
13-
runs-on: ubuntu-latest
1410
strategy:
1511
fail-fast: false
1612
matrix:
13+
<<<<<<< HEAD
1714
branch: [rolling, jazzy, humble]
1815
idf_target: [ esp32, esp32s2, esp32c3, esp32s3, esp32c6, esp32p4]
1916
idf_version: [ "espressif/idf:release-v4.4", "espressif/idf:release-v5.2", "espressif/idf:release-v5.5" ]
@@ -120,4 +117,10 @@ jobs:
120117
make -f libmicroros.mk clean
121118
cd examples/int32_publisher_embeddedrtps
122119
idf.py set-target ${{ matrix.idf_target }}
123-
idf.py build
120+
idf.py build
121+
=======
122+
branch: [humble, jazzy, kilted, rolling]
123+
uses: ./.github/workflows/ci.yml
124+
with:
125+
branch: ${{ matrix.branch }}
126+
>>>>>>> d749ff1 (Multiple CI and README.md Improvements (#324))

README.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,34 @@
33

44
# micro-ROS component for ESP-IDF
55

6+
<<<<<<< HEAD
67
This component has been tested in ESP-IDF v4.4, v5.2, and v5.5 with ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-P4.
8+
=======
9+
This component has been tested in ESP-IDF v5.2, v5.3, and v5.4 with ESP32, ESP32-S2, ESP32-S3, ESP32-C3 and ESP32-C6.
10+
>>>>>>> d749ff1 (Multiple CI and README.md Improvements (#324))
711
812
## Dependencies
913

1014
This component needs `colcon` and other Python 3 packages inside the IDF virtual environment in order to build micro-ROS packages:
1115

1216
```bash
1317
. $IDF_PATH/export.sh
18+
<<<<<<< HEAD
1419
pip3 install catkin_pkg lark-parser colcon-common-extensions empy==3.3.4
20+
=======
21+
pip3 install catkin_pkg colcon-common-extensions lark
22+
>>>>>>> d749ff1 (Multiple CI and README.md Improvements (#324))
1523
```
1624
1725
## Middlewares available
1826
1927
This package support the usage of micro-ROS on top of two different middlewares:
28+
2029
- [eProsima Micro XRCE-DDS](https://micro-xrce-dds.docs.eprosima.com/en/latest/): the default micro-ROS middleware.
21-
- [embeddedRTPS](https://github.com/embedded-software-laboratory/embeddedRTPS): an experimental implementation of a RTPS middleware compatible with ROS 2.
30+
- [embeddedRTPS](https://github.com/embedded-software-laboratory/embeddedRTPS): an experimental implementation of a RTPS middleware compatible with ROS 2. (CURRENTLY NOT WORKING)
2231
2332
In order to select it, use `idf.py menuconfig` and go to `micro-ROS Settings > micro-ROS middleware`
33+
2434
## Usage
2535
2636
You can clone this repo directly in the `components` folder of your project.
@@ -34,7 +44,11 @@ In order to test a int32_publisher example:
3444
```bash
3545
. $IDF_PATH/export.sh
3646
cd examples/int32_publisher
47+
<<<<<<< HEAD
3748
# Set target board [esp32|esp32s2|esp32s3|esp32c3|esp32c6|esp32p4]
49+
=======
50+
# Set target board [esp32|esp32s2|esp32s3|esp32c3|esp32c6]
51+
>>>>>>> d749ff1 (Multiple CI and README.md Improvements (#324))
3852
idf.py set-target esp32
3953
idf.py menuconfig
4054
# Set your micro-ROS configuration and WiFi credentials under micro-ROS Settings
@@ -61,19 +75,16 @@ docker run -it --rm --net=host microros/micro-ros-agent:jazzy udp4 --port 8888 -
6175
It's possible to build this example application using the official Espressif [docker images](https://hub.docker.com/r/espressif/idf), following the same steps:
6276
6377
```bash
64-
docker pull espressif/idf:release-v5.2
65-
# Run ESP-IDF container
66-
docker run --name micro-ros-espidf-component-test -it espressif/idf:release-v5.2 bash
78+
docker run --name micro-ros-espidf-component -it espressif/idf:release-v5.4 bash
6779
68-
git clone https://github.com/micro-ROS/micro_ros_espidf_component.git
80+
git clone -b rolling https://github.com/micro-ROS/micro_ros_espidf_component.git
6981
cd micro_ros_espidf_component/
7082
7183
# Install dependencies
72-
pip3 install catkin_pkg lark-parser colcon-common-extensions
84+
pip install catkin_pkg colcon-common-extensions lark
7385
74-
$IDF_PATH/export.sh
7586
cd examples/int32_publisher
76-
# Set target board [esp32|esp32s2|esp32s3|esp32c3]
87+
# Set target board [esp32|esp32s2|esp32s3|esp32c3|esp32c6]
7788
idf.py set-target esp32
7889
idf.py menuconfig
7990
# Set your micro-ROS configuration and WiFi credentials under micro-ROS Settings

0 commit comments

Comments
 (0)