Skip to content

Commit ef0276f

Browse files
Update README.md
1 parent cf50619 commit ef0276f

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

README.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# **Automated ESP32 Testing with GitHub Actions on Raspberry Pi**
22
This tutorial demonstrates how to automate **ESP-IDF firmware testing** using **GitHub Actions** and a **Raspberry Pi** configured as a **self-hosted runner**.
3-
An **ESP32-S3** board is physically connected to the Raspberry Pi via USB.
3+
An **ESP32-S3** board is physically connected to the Raspberry Pi via USB, which serves as the testing host.
44

55
This tutorial continues from **[Stage 3 — VS Code Pytest Testing](https://github.com/ChandimaJayaneththi/esp32_hw_testing_series/blob/main/stage3_pytest_testing/README.md)**.
66
It uses the **same ESP-IDF project and test structure**, but instead of manually running the tests inside VS Code, everything is **automated using GitHub Actions**.
@@ -38,6 +38,8 @@ It allows you to define workflows that automatically run tasks whenever specific
3838

3939
This automation greatly improves productivity and reliability by catching bugs early — just like CI pipelines in large-scale software projects.
4040

41+
Reference: [GitHub Actions](https://docs.github.com/en/actions)
42+
4143
---
4244

4345
## Setup
@@ -49,7 +51,7 @@ This automation greatly improves productivity and reliability by catching bugs e
4951
```bash
5052
git clone https://github.com/ChandimaJayaneththi/esp32_github_actions_ci_rpi.git
5153
```
52-
Then, create your own GitHub repository (you can name it something like esp32_ci_rpi_runner) and push the cloned project into it
54+
Next, create your own GitHub repository (for example, esp32_ci_rpi_runner) and push the cloned project into it
5355

5456
2. **Ensure the Raspberry Pi has internet access and ESP-IDF installed with Pytest:**
5557

@@ -170,7 +172,7 @@ jobs:
170172
. ~/esp/esp-idf/export.sh
171173
pytest pytest_esp32_test.py --port <PORT>
172174
```
173-
**Note:** Replace "PORT" with the correct COM port the ESP32 is connected to.
175+
**Note:** Replace "PORT" with the correct device (for example, /dev/ttyUSB0).
174176

175177
### Workflow Breakdown
176178
1. `name`:Defines the workflow’s display name in GitHub Actions
@@ -187,7 +189,7 @@ jobs:
187189
---
188190

189191
## Running the CI Workflow
190-
1. Trigger the workflow ether commit and push your latest code or manually from the Actions tab.
192+
1. Trigger the workflow either commit and push your latest code or manually from the Actions tab.
191193
2. Go to your repository → Actions tab
192194
- You’ll see a workflow named "ESP-IDF CI on Raspberry Pi" automatically start.
193195
3. The workflow will:
@@ -199,7 +201,7 @@ jobs:
199201

200202
## Expected Output on GitHub Actions
201203

202-
![GitHub action output](images/ci_results.png)
204+
![GitHub action output](images/ci_results.png)
203205

204206
You will see the following logs under `Run Unit tests` section
205207
```log
@@ -274,7 +276,12 @@ This project was tested on:
274276
---
275277

276278
## What You’ll Learn
277-
279+
By the end of this tutorial, you will understand how to:
280+
- Set up a Raspberry Pi as a self-hosted GitHub Actions runner.
281+
- Configure ESP-IDF and Pytest to work seamlessly in an automated CI environment.
282+
- Use GitHub Actions to build, flash, and test ESP32 firmware automatically.
283+
- Run hardware-in-the-loop (HIL) testing directly from GitHub whenever new code is pushed.
284+
- Extend this setup for continuous testing and integration in embedded firmware projects.
278285

279286

280287
---

0 commit comments

Comments
 (0)