From 9c008d99a7116b55c89580c761e6e8766ba70c6a Mon Sep 17 00:00:00 2001 From: rob040 Date: Sat, 6 Jan 2024 18:51:51 +0100 Subject: [PATCH] PlatformIO CI build all also for esp8266, except unsupported ones (e.g. esp32-cam) --- .gitignore | 6 ++++++ pio_ci_ex_ALL.bat | 41 ++++++++++++++++++++++++++++++----------- platformio.ini | 12 +++++++++++- 3 files changed, 47 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 259148fa..f7c5f50f 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,9 @@ *.exe *.out *.app + +# PlatformIO in VScode +.pio/ +.vscode/ +*.lnk +*.bak diff --git a/pio_ci_ex_ALL.bat b/pio_ci_ex_ALL.bat index 9da08235..125f92c3 100644 --- a/pio_ci_ex_ALL.bat +++ b/pio_ci_ex_ALL.bat @@ -3,17 +3,36 @@ rem Build all listed examples of this library on PIO CLI; may take some time rem Verifies that library and all examples still compile setlocal EnableDelayedExpansion enableextensions -set CI_DIR=%~dp0\..\async-esp-fs-webserver.pio-ci +set CI_DIR=%~dp0..\async-esp-fs-webserver.pio-ci set EXAMPLES=simpleServerCaptive simpleServer withWebSocket customHTML customOptions gpio_list handleFormData highcharts remoteOTA esp32-cam ::set EXAMPLES=simpleServerCaptive :: simpleServer withWebSocket customHTML -FOR %%E IN (%EXAMPLES%) DO IF NOT EXIST %CI_DIR%\ci_ex_%%E MKDIR %CI_DIR%\ci_ex_%%E -@echo on -FOR %%E IN (%EXAMPLES%) DO ( - pio ci -c platformio.ini --board=esp32dev --keep-build-dir --build-dir=%CI_DIR%\ci_ex_%%E --lib=. .\examples\%%E\*.* > %CI_DIR%\ci_ex_%%E\build.out.txt 2>%CI_DIR%\ci_ex_%%E\build.err.txt - @for /f %%i in ("%CI_DIR%\ci_ex_%%E\build.err.txt") do @set size=%%~zi && @echo ###ERROR in %%i && @type %%i - ) -@echo off -:: type %CI_DIR%/ci_ex_%%E/build.err.txt -:: note activation pio verbose option '-v' outputs a lot of text (~25k/compile, ~2MB/pio-ci) -rem pio ci -c platformio.ini --board=esp32dev --build-dir=../ci_ex_simpleServer --keep-build-dir --lib=. .\examples\simpleServer\simpleServer.ino +set BOARDS= esp32dev esp12e +set OPT_esp12e=-O "lib_deps=ArduinoJson@6.21.4" +set OPT_esp32dev=-O "lib_deps=ArduinoJson@6.21.4" +set NOT_esp12e=esp32-cam +set NOT_esp32dev=esp8266-app +set EXCLIB= --exclude=lib\*\.git* --exclude=lib\*\.pio --exclude=lib\*\.vscode --exclude=lib\*\built-in-webpages --exclude=lib\*\examples + +FOR %%B IN (%BOARDS%) DO ( + FOR %%E IN (%EXAMPLES%) DO ( + if %%E==!NOT_%%B! ( + echo ### not compiling %%E for %%B + ) else ( + set CIEXDIR=%CI_DIR%\ci_ex_%%B_%%E + IF EXIST "!CIEXDIR!" RMDIR /s/q "!CIEXDIR!" + MKDIR "!CIEXDIR!" + set OPT=!OPT_%%B! + set OUT="!CIEXDIR!\build.out.txt" + set ERR="!CIEXDIR!\build.err.txt" + echo ### Compiling %%E for %%B + echo +pio ci -b %%B !OPT! --keep-build-dir --build-dir="!CIEXDIR!\" --lib=. %EXCLIB% .\examples\%%E\*.* 1^>!OUT! 2^>!ERR! + pio ci -b %%B !OPT! --keep-build-dir --build-dir="!CIEXDIR!" --lib=. %EXCLIB% .\examples\%%E\*.* >!OUT! 2>!ERR! + FOR /f %%i IN (!ERR!) DO IF EXIST %%i IF %%~zi GTR 0 ECHO ###ERROR in %%i && TYPE %%i + ) + echo ### DONE + ) +) + +:: note activation pio verbose option '-v' generates a lot of output (~25k/compile, ~2MB/pio-ci) + diff --git a/platformio.ini b/platformio.ini index 039d795a..51f532f2 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,9 +9,9 @@ ; https://docs.platformio.org/page/projectconf.html [env:esp32dev] +framework = arduino platform = espressif32 board = esp32dev -framework = arduino lib_deps = bblanchon/ArduinoJson@^6.21.4 DNSServer@^2.0.0 ESPmDNS@^2.0.0 @@ -21,3 +21,13 @@ lib_deps = bblanchon/ArduinoJson@^6.21.4 Update@^2.0.0 +[env:esp12e] +framework = arduino +platform = espressif8266 +board = esp12e +board_build.mcu = esp8266 +lib_deps = bblanchon/ArduinoJson@^6.21.4 + DNSServer@^1.1.0 + ESP8266mDNS@^1.2 + ESP8266WiFi@^1.0 + LittleFS