Skip to content

Commit 9773d94

Browse files
committed
PlatformIO CI: ESP-IDF builds
1 parent 88a72cb commit 9773d94

File tree

4 files changed

+70
-29
lines changed

4 files changed

+70
-29
lines changed

.github/pio-ci/Dockerfile

Lines changed: 40 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -32,30 +32,43 @@ RUN pio platform install ststm32
3232

3333
RUN mkdir /pio-ard-ci && cd /pio-ard-ci && \
3434
pio project init -s && \
35-
echo >>platformio.ini && \
36-
echo "[env]" >>platformio.ini && \
37-
echo "framework = arduino" >>platformio.ini && \
38-
echo >>platformio.ini && \
39-
echo "[env:uno]" >>platformio.ini && \
40-
echo "platform = atmelavr" >>platformio.ini && \
41-
echo "board = uno" >>platformio.ini && \
42-
echo >>platformio.ini && \
43-
echo "[env:uno_wifi_rev2]" >>platformio.ini && \
44-
echo "platform = atmelmegaavr" >>platformio.ini && \
45-
echo "board = uno_wifi_rev2" >>platformio.ini && \
46-
echo >>platformio.ini && \
47-
echo "[env:due]" >>platformio.ini && \
48-
echo "platform = atmelsam" >>platformio.ini && \
49-
echo "board = due" >>platformio.ini && \
50-
echo >>platformio.ini && \
51-
echo "[env:esp32dev]" >>platformio.ini && \
52-
echo "platform = espressif32" >>platformio.ini && \
53-
echo "board = esp32dev" >>platformio.ini && \
54-
echo >>platformio.ini && \
55-
echo "[env:d1]" >>platformio.ini && \
56-
echo "platform = espressif8266" >>platformio.ini && \
57-
echo "board = d1" >>platformio.ini && \
58-
echo >>platformio.ini && \
59-
echo "[env:nucleo_f767zi]" >>platformio.ini && \
60-
echo "platform = ststm32" >>platformio.ini && \
61-
echo "board = nucleo_f767zi" >>platformio.ini
35+
echo >>platformio.ini && \
36+
echo "[env]" >>platformio.ini && \
37+
echo "framework = arduino" >>platformio.ini && \
38+
echo >>platformio.ini && \
39+
echo "[env:uno]" >>platformio.ini && \
40+
echo "platform = atmelavr" >>platformio.ini && \
41+
echo "board = uno" >>platformio.ini && \
42+
echo >>platformio.ini && \
43+
echo "[env:uno_wifi_rev2]" >>platformio.ini && \
44+
echo "platform = atmelmegaavr" >>platformio.ini && \
45+
echo "board = uno_wifi_rev2" >>platformio.ini && \
46+
echo >>platformio.ini && \
47+
echo "[env:due]" >>platformio.ini && \
48+
echo "platform = atmelsam" >>platformio.ini && \
49+
echo "board = due" >>platformio.ini && \
50+
echo >>platformio.ini && \
51+
echo "[env:esp32dev]" >>platformio.ini && \
52+
echo "platform = espressif32" >>platformio.ini && \
53+
echo "board = esp32dev" >>platformio.ini && \
54+
echo >>platformio.ini && \
55+
echo "[env:d1]" >>platformio.ini && \
56+
echo "platform = espressif8266" >>platformio.ini && \
57+
echo "board = d1" >>platformio.ini && \
58+
echo >>platformio.ini && \
59+
echo "[env:nucleo_f767zi]" >>platformio.ini && \
60+
echo "platform = ststm32" >>platformio.ini && \
61+
echo "board = nucleo_f767zi" >>platformio.ini
62+
63+
RUN mkdir /pio-idf-ci && cd /pio-idf-ci && \
64+
pio project init -s && \
65+
echo >>platformio.ini && \
66+
echo "[env:esp32-s2-saola-1]" >>platformio.ini && \
67+
echo "framework = espidf" >>platformio.ini && \
68+
echo "platform = espressif32" >>platformio.ini && \
69+
echo "board = esp32-s2-saola-1" >>platformio.ini && \
70+
echo >>platformio.ini && \
71+
echo "[env:esp32-c3-devkitm-1]" >>platformio.ini && \
72+
echo "framework = espidf" >>platformio.ini && \
73+
echo "platform = espressif32" >>platformio.ini && \
74+
echo "board = esp32-c3-devkitm-1" >>platformio.ini

.github/workflows/pio-builds.yml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- name: PlatformIO update info
1919
run: |
2020
sudo pio update --dry-run
21-
pio_build:
21+
pio_ard_build:
2222
runs-on: ubuntu-latest
2323
container: ghcr.io/pstolarz/pio-ci
2424
strategy:
@@ -48,3 +48,29 @@ jobs:
4848
src/${{ matrix.example }}.ino
4949
sudo pio lib install $repo_dir
5050
sudo PLATFORMIO_BUILD_FLAGS=${BUILD_FLAGS} pio run -e ${{ matrix.plat }}
51+
pio_idf_build:
52+
runs-on: ubuntu-latest
53+
container: ghcr.io/pstolarz/pio-ci
54+
strategy:
55+
matrix:
56+
plat:
57+
- esp32-s2-saola-1
58+
- esp32-c3-devkitm-1
59+
example:
60+
- DallasTemperature
61+
env:
62+
BUILD_FLAGS: "\
63+
-DCONFIG_PWR_CTRL_ENABLED \
64+
-DCONFIG_OVERDRIVE_ENABLED \
65+
-DCONFIG_CRC16_ENABLED \
66+
-DCONFIG_ITERATION_RETRIES=1"
67+
steps:
68+
- uses: actions/checkout@v2
69+
- name: Build
70+
run: |
71+
repo_dir=$(pwd)
72+
cd /pio-idf-ci
73+
cp $repo_dir/examples/esp-idf/${{ matrix.example }}/main/${{ matrix.example }}.cpp \
74+
src/${{ matrix.example }}.cpp
75+
sudo pio lib install $repo_dir
76+
sudo PLATFORMIO_BUILD_FLAGS=${BUILD_FLAGS} pio run -e ${{ matrix.plat }}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ HTML/LaTeX [Doxygen](https://www.doxygen.nl/index.html) documentation by issuing
7474
File [`src/OneWireNg_Config.h`](src/OneWireNg_Config.h) contains parameters
7575
configuring the library functionality. See the file for more details.
7676

77-
### ESP-IDF (incl. ESP8266 RTOS SDK)
77+
### ESP-IDF (incl. ESP8266 RTOS SDK v3)
7878

7979
Preferred way to add OneWireNg as a library for Espressif [ESP-IDF](https://github.com/espressif/esp-idf)
8080
framework is to add it as a git submodule located at project's `components`

examples/esp-idf/DallasTemperature/main/DallasTemperature.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
/**
1414
* Dallas family thermometers access example (ESP-IDF).
1515
*/
16+
#include <stdio.h>
17+
1618
#include "OneWireNg_CurrentPlatform.h"
1719
#include "drivers/DSTherm.h"
1820
#include "utils/Placeholder.h"

0 commit comments

Comments
 (0)