[PIO] Add core 2.6.1 SDK3 builds and PIO env list for Vagrant

Create a file named "pio_envlist.txt" next to the Custom.h for Vagrant with the selected env names in it, one per line.
Vagrant will then build all named PIO environments.
This commit is contained in:
Gijs Noorlander
2019-11-21 10:23:30 +01:00
parent b3d5eb77d3
commit a8776b6fc5
8 changed files with 133 additions and 106 deletions
+5 -35
View File
@@ -39,37 +39,10 @@ fi
mkdir -p ${TMP_DIST}/memstats
# Same list in .travis.yml and tools/build_ESPeasy.sh
for ENV in \
custom_ESP32_4M316k\
custom_ESP8266_4M1M\
custom_ESP8266_4M2M\
dev_ESP8266_4M1M\
hard_SONOFF_POW_4M1M\
hard_Shelly_1_2M256\
hard_Ventus_W266\
hard_other_POW_ESP8285_1M\
minimal_IRext_ESP8266_1M\
minimal_IRext_ESP8266_4M1M\
minimal_IRext_ESP8266_4M2M\
minimal_core_242_ESP8266_1M_OTA\
minimal_core_242_ESP8285_1M_OTA\
minimal_core_261_ESP8266_1M_OTA\
minimal_core_261_ESP8285_1M_OTA\
normal_ESP8266_16M\
normal_ESP8266_1M\
normal_ESP8266_1M_VCC\
normal_ESP8266_4M1M\
normal_ESP8285_1M\
normal_IRext_no_rx_ESP8266_4M2M\
normal_WROOM02_2M256\
normal_WROOM02_2M\
test_ESP8266_4M_VCC\
test_beta_ESP8266_16M\
test_beta_ESP8266_4M1M\
test_ESP32_4M316k\
test_ESP32-wrover-kit_4M316k;\
do
# Must look into all possible env definitions.
# Exclude so called "spec_" (special) builds
for ENV in `grep "^\[env:" platformio*.ini |cut -d'[' -f2|cut -d']' -f1|cut -d':' -f2|sort -n|grep -v spec_`;
do
MAX_FILESIZE=1044464
if [[ ${ENV} == *"_1M"* ]]; then
# max 872 kiB - 16 bytes
@@ -79,14 +52,11 @@ do
# max 600 kiB - 16 bytes
MAX_FILESIZE=614384
fi
if [[ ${ENV} == *"esp32"* ]]; then
MAX_FILESIZE=1310720
fi
if [[ ${ENV} == *"4M316k"* ]]; then
# ESP32 with 1800k of sketch space.
MAX_FILESIZE=1900544
fi
if [[ ${ENV} == *"ebug_custom"* ]]; then
if [[ ${ENV} == *"debug_"* ]]; then
# Debug env, used for analysis, not to be run on a node.
MAX_FILESIZE=0
fi
+1 -1
View File
@@ -23,7 +23,7 @@ import os
TOTAL_IRAM = 32786;
TOTAL_DRAM = 81920;
env="memanalyze_ESP8266"
env="spec_memanalyze_ESP8266"
sections = OrderedDict([
("data", "Initialized Data (RAM)"),
+8
View File
@@ -92,6 +92,9 @@ lib_ignore = ESP32_ping, ESP32WebServer, IRremoteESP8266, Heatpum
;platform = espressif8266@2.2.3
;build_flags = ${esp82xx_2_5_x.build_flags}
; See for SDK flags: https://github.com/esp8266/Arduino/blob/master/tools/platformio-build.py
[core_2_6_0]
platform = https://github.com/Jason2866/platform-espressif8266.git#core_2_6_0
build_flags = ${esp82xx_2_6_x.build_flags}
@@ -102,6 +105,11 @@ platform = https://github.com/Jason2866/platform-espressif8266.
build_flags = ${esp82xx_2_6_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105
[core_2_6_1_sdk3]
platform = https://github.com/Jason2866/platform-espressif8266.git#core_2_6_1
build_flags = ${esp82xx_2_6_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
[core_stage]
platform = https://github.com/platformio/platform-espressif8266.git#feature/stage
build_flags = ${esp82xx_2_6_x.build_flags}
+5
View File
@@ -9,6 +9,11 @@ build_unflags =
build_flags = ${core_2_6_1.build_flags}
platform = ${core_2_6_1.platform}
[core261_sdk3_platform]
build_unflags =
build_flags = ${core_2_6_1_sdk3.build_flags}
platform = ${core_2_6_1_sdk3.platform}
[beta_platform]
build_unflags =
build_flags = ${core_stage.build_flags}
+91 -26
View File
@@ -14,8 +14,30 @@ build_flags = ${regular_platform.build_flags}
; Custom: 4M1M version --------------------------
[env:custom_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${esp8266_4M1M.build_flags}
-DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
[env:custom_sdk3_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${core261_sdk3_platform.platform}
build_flags = ${core261_sdk3_platform.build_flags}
${esp8266_4M1M.build_flags}
-DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
[env:custom_beta_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${beta_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${beta_platform.build_flags} -DPLUGIN_BUILD_CUSTOM
build_flags = ${beta_platform.build_flags}
${esp8266_4M1M.build_flags}
-DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
@@ -23,8 +45,10 @@ extra_scripts = pre:pre_custom_esp82xx.py
; Custom: 4M2M version --------------------------
[env:custom_ESP8266_4M2M]
extends = esp8266_4M2M
platform = ${beta_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${beta_platform.build_flags} -DPLUGIN_BUILD_CUSTOM
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${esp8266_4M1M.build_flags}
-DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
@@ -39,47 +63,55 @@ extra_scripts = pre:pre_custom_esp82xx.py
[env:normal_ESP8266_1M]
extends = esp8266_1M
platform = ${regular_platform.platform}
build_flags = ${esp8266_1M.build_flags}
build_flags = ${regular_platform.build_flags}
${esp8266_1M.build_flags}
[env:normal_ESP8266_1M_VCC]
extends = esp8266_1M
platform = ${regular_platform.platform}
build_flags = ${esp8266_1M.build_flags} -D FEATURE_ADC_VCC=true
build_flags = ${regular_platform.build_flags}
${esp8266_1M.build_flags}
-D FEATURE_ADC_VCC=true
; NORMAL: 1024k for esp8285 ----------------------
[env:normal_ESP8285_1M]
extends = esp8285_1M
platform = ${regular_platform.platform}
build_flags = ${esp8285_1M.build_flags}
build_flags = ${regular_platform.build_flags}
${esp8285_1M.build_flags}
; NORMAL: 2048k WROOM02 version --------------------------
[env:normal_WROOM02_2M]
extends = espWroom2M
platform = ${regular_platform.platform}
build_flags = ${espWroom2M.build_flags} ${regular_platform.build_flags}
build_flags = ${regular_platform.build_flags}
${espWroom2M.build_flags}
; NORMAL: 2048k WROOM02 version 256k SPIFFS --------------------------
[env:normal_WROOM02_2M256]
extends = espWroom2M256
platform = ${regular_platform.platform}
build_flags = ${espWroom2M256.build_flags} ${regular_platform.build_flags}
build_flags = ${regular_platform.build_flags}
${espWroom2M256.build_flags}
; NORMAL: 4096k version --------------------------
[env:normal_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${regular_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${regular_platform.build_flags}
build_flags = ${regular_platform.build_flags}
${esp8266_4M1M.build_flags}
; NORMAL: 16M version --------------------------
[env:normal_ESP8266_16M]
extends = esp8266_16M
platform = ${regular_platform.platform}
build_flags = ${esp8266_16M.build_flags} ${regular_platform.build_flags}
build_flags = ${regular_platform.build_flags}
${esp8266_16M.build_flags}
;;; Minimal ***********************************************************
@@ -89,23 +121,38 @@ build_flags = ${esp8266_16M.build_flags} ${regular_platform.build_
[env:minimal_core_242_ESP8266_1M_OTA]
extends = esp8266_1M_OTA
platform = ${core_2_4_2.platform}
build_flags = ${esp8266_1M_OTA.build_flags} ${core_2_4_2.build_flags}
build_flags = ${core_2_4_2.build_flags}
${esp8266_1M_OTA.build_flags}
[env:minimal_core_242_ESP8285_1M_OTA]
extends = esp8285_1M_OTA
platform = ${core_2_4_2.platform}
build_flags = ${esp8285_1M_OTA.build_flags} ${core_2_4_2.build_flags}
build_flags = ${core_2_4_2.build_flags}
${esp8285_1M_OTA.build_flags}
[env:minimal_core_261_ESP8266_1M_OTA]
extends = esp8266_1M_OTA
platform = ${regular_platform.platform}
build_flags = ${esp8266_1M_OTA.build_flags} ${regular_platform.build_flags}
build_flags = ${regular_platform.build_flags}
${esp8266_1M_OTA.build_flags}
[env:minimal_core_261_ESP8285_1M_OTA]
extends = esp8285_1M_OTA
platform = ${regular_platform.platform}
build_flags = ${esp8285_1M_OTA.build_flags} ${regular_platform.build_flags}
build_flags = ${regular_platform.build_flags}
${esp8285_1M_OTA.build_flags}
[env:minimal_core_261_sdk3_ESP8266_1M_OTA]
extends = esp8266_1M_OTA
platform = ${core261_sdk3_platform.platform}
build_flags = ${core261_sdk3_platform.build_flags}
${esp8266_1M_OTA.build_flags}
[env:minimal_core_261_sdk3_ESP8285_1M_OTA]
extends = esp8285_1M_OTA
platform = ${core261_sdk3_platform.platform}
build_flags = ${core261_sdk3_platform.build_flags}
${esp8285_1M_OTA.build_flags}
@@ -121,7 +168,8 @@ build_flags = ${esp8285_1M_OTA.build_flags} ${regular_platform.bui
extends = esp8266_1M
platform = ${minimal_ir_extended.platform}
lib_ignore = ${minimal_ir_extended.lib_ignore}
build_flags = ${minimal_ir_extended.build_flags} ${esp8266_1M.build_flags}
build_flags = ${minimal_ir_extended.build_flags}
${esp8266_1M.build_flags}
build_unflags = ${esp8266_1M_OTA.build_unflags} -DPLUGIN_BUILD_NORMAL_IR
@@ -133,14 +181,16 @@ build_unflags = ${esp8266_1M_OTA.build_unflags} -DPLUGIN_BUILD_NORMA
extends = esp8266_4M1M
platform = ${minimal_ir_extended.platform}
lib_ignore = ${minimal_ir_extended.lib_ignore}
build_flags = ${minimal_ir_extended.build_flags} ${esp8266_4M1M.build_flags}
build_flags = ${minimal_ir_extended.build_flags}
${esp8266_4M1M.build_flags}
; 4M flash, 2M SPIFFS
[env:minimal_IRext_ESP8266_4M2M]
extends = esp8266_4M2M
platform = ${minimal_ir_extended.platform}
lib_ignore = ${minimal_ir_extended.lib_ignore}
build_flags = ${minimal_ir_extended.build_flags} ${esp8266_4M2M.build_flags}
build_flags = ${minimal_ir_extended.build_flags}
${esp8266_4M2M.build_flags}
; NORMAL IR: 4096k version --------------------------
@@ -151,7 +201,8 @@ build_flags = ${minimal_ir_extended.build_flags} ${esp8266_4M2M.bu
extends = esp8266_4M2M
platform = ${normal_ir_extended_no_rx.platform}
lib_ignore = ${normal_ir_extended_no_rx.lib_ignore}
build_flags = ${normal_ir_extended_no_rx.build_flags} ${esp8266_4M2M.build_flags}
build_flags = ${normal_ir_extended_no_rx.build_flags}
${esp8266_4M2M.build_flags}
@@ -165,19 +216,24 @@ build_flags = ${normal_ir_extended_no_rx.build_flags} ${esp8266_4M
[env:test_ESP8266_4M_VCC]
extends = esp8266_4M1M
platform = ${testing.platform}
build_flags = ${esp8266_4M1M.build_flags} ${testing.build_flags} -D FEATURE_ADC_VCC=true
build_flags = ${testing.build_flags}
${esp8266_4M1M.build_flags}
-D FEATURE_ADC_VCC=true
[env:test_beta_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${testing_beta.platform}
build_flags = ${esp8266_4M1M.build_flags} ${testing_beta.build_flags}
build_flags = ${testing_beta.build_flags}
${esp8266_4M1M.build_flags}
[env:test_beta_ESP8266_16M]
extends = esp8266_16M
platform = ${testing_beta.platform}
build_flags = ${esp8266_16M.build_flags} ${testing_beta.build_flags} -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22y
build_flags = ${testing_beta.build_flags}
${esp8266_16M.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22y
@@ -194,7 +250,8 @@ build_flags = ${esp8266_16M.build_flags} ${testing_beta.build_flag
[env:dev_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${dev.platform}
build_flags = ${esp8266_4M1M.build_flags} ${dev.build_flags}
build_flags = ${dev.build_flags}
${esp8266_4M1M.build_flags}
@@ -235,7 +292,9 @@ build_flags = ${esp8266_4M1M.build_flags} ${dev.build_flags}
[env:hard_SONOFF_POW_4M1M]
extends = esp8266_4M1M, hard_esp82xx
platform = ${hard_esp82xx.platform}
build_flags = ${hard_esp82xx.build_flags} ${esp8266_4M1M.build_flags} -D PLUGIN_SET_SONOFF_POW
build_flags = ${hard_esp82xx.build_flags}
${esp8266_4M1M.build_flags}
-D PLUGIN_SET_SONOFF_POW
; Build including power measurement plugins for those devices that have only 1M flash.
@@ -243,7 +302,9 @@ build_flags = ${hard_esp82xx.build_flags} ${esp8266_4M1M.build_fla
[env:hard_other_POW_ESP8285_1M]
extends = esp8266_1M_OTA, hard_esp82xx
platform = ${hard_esp82xx.platform}
build_flags = ${hard_esp82xx.build_flags} ${esp8266_1M_OTA.build_flags} -D PLUGIN_SET_SONOFF_POW
build_flags = ${hard_esp82xx.build_flags}
${esp8266_1M_OTA.build_flags}
-D PLUGIN_SET_SONOFF_POW
; ITEAD / SONOFF S20 version --------------------
@@ -275,13 +336,17 @@ build_flags = ${hard_esp82xx.build_flags} ${esp8266_1M_OTA.build_f
[env:hard_Shelly_1_2M256]
extends = esp8266_2M256, hard_esp82xx
platform = ${hard_esp82xx.platform}
build_flags = ${hard_esp82xx.build_flags} ${esp8266_2M256.build_flags} -D PLUGIN_SET_SHELLY_1
build_flags = ${hard_esp82xx.build_flags}
${esp8266_2M256.build_flags}
-D PLUGIN_SET_SHELLY_1
; Ventus W266 weather station
; https://www.letscontrolit.com/wiki/index.php/VentusW266
[env:hard_Ventus_W266]
extends = esp8266_1M, hard_esp82xx
platform = ${hard_esp82xx.platform}
build_flags = ${hard_esp82xx.build_flags} ${esp8266_1M_OTA.build_flags} -D PLUGIN_SET_VENTUS_W266
build_flags = ${hard_esp82xx.build_flags}
${esp8266_1M_OTA.build_flags}
-D PLUGIN_SET_VENTUS_W266
+4 -4
View File
@@ -9,7 +9,7 @@ check_tool = clangtidy
build_flags = ${compiler_warnings.build_flags}
[env:debug_custom_ESP8266_4M1M]
[env:spec_debug_custom_ESP8266_4M1M]
extends = esp8266_4M1M, debug_pio
platform = ${regular_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${regular_platform.build_flags} ${debug_pio.build_flags} -DPLUGIN_BUILD_CUSTOM
@@ -17,7 +17,7 @@ lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
[env:debug_beta_custom_ESP8266_4M1M]
[env:spec_debug_beta_custom_ESP8266_4M1M]
extends = esp8266_4M1M, debug_pio
platform = ${beta_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${beta_platform.build_flags} ${debug_pio.build_flags} -DPLUGIN_BUILD_CUSTOM
@@ -25,7 +25,7 @@ lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
[env:debug_custom_ESP32_4M316k]
[env:spec_debug_custom_ESP32_4M316k]
extends = esp32_common, debug_pio
platform = ${esp32_common.platform}
build_flags = ${esp32_common.build_flags} -DPLUGIN_BUILD_CUSTOM
@@ -37,7 +37,7 @@ extra_scripts = pre:pre_custom_esp32.py
; Special env for memory analysis
; This may generate builds which cannot be run, so do not upload to a node.
; Has the same lib_ignore as the IR builds, or else those cannot be built for testing
[env:memanalyze_ESP8266]
[env:spec_memanalyze_ESP8266]
extends = esp8266_4M1M
platform = ${regular_platform.platform}
lib_ignore = ESP32_ping, ESP32WebServer
+4 -37
View File
@@ -75,46 +75,13 @@ platformio run --target clean
cd ${SRC}/patches; ./check_puya_patch;
cd ${SRC}
# Build all targets in the platformio.ini file. (same as in .travis.yml and before_deploy)
for ENV in \
custom_ESP32_4M316k\
custom_ESP8266_4M1M\
custom_ESP8266_4M2M\
dev_ESP8266_4M1M\
hard_SONOFF_POW_4M1M\
hard_Shelly_1_2M256\
hard_Ventus_W266\
hard_other_POW_ESP8285_1M\
minimal_IRext_ESP8266_1M\
minimal_IRext_ESP8266_4M1M\
minimal_IRext_ESP8266_4M2M\
minimal_core_242_ESP8266_1M_OTA\
minimal_core_242_ESP8285_1M_OTA\
minimal_core_261_ESP8266_1M_OTA\
minimal_core_261_ESP8285_1M_OTA\
normal_ESP8266_16M\
normal_ESP8266_1M\
normal_ESP8266_1M_VCC\
normal_ESP8266_4M1M\
normal_ESP8285_1M\
normal_IRext_no_rx_ESP8266_4M2M\
normal_WROOM02_2M256\
normal_WROOM02_2M\
test_ESP8266_4M_VCC\
test_beta_ESP8266_16M\
test_beta_ESP8266_4M1M\
test_ESP32_4M316k\
test_ESP32-wrover-kit_4M316k;\
do
# Must look into all possible env definitions.
# Exclude so called "spec_" (special) builds
for ENV in `grep "^\[env:" platformio*.ini |cut -d'[' -f2|cut -d']' -f1|cut -d':' -f2|sort -n|grep -v spec_`;
do
PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e ${ENV}
done
#for ENV in `grep "^\[env:" platformio.ini |cut -d':' -f2|cut -d']' -f1`;
#do
# platformio run -e ${ENV}
#done
# Rename all built files, compute CRC and insert binaryFilename
# Collect all in a zip file.
if [ -z "$DESCRIPTION" ]
+15 -3
View File
@@ -11,6 +11,7 @@ DESCRIPTION=""
VAGRANT_FOLDER="/vagrant"
BUILD_FOLDER=`echo "${VAGRANT_FOLDER}/build"`
CUSTOM_H_FILE="Custom.h"
ENV_LIST_FILE="pio_envlist.txt"
while getopts p:d: option
do
@@ -53,15 +54,26 @@ cd ${SRC}/patches; ./check_puya_patch;
cd ${SRC}
VAGRANT_CUSTOM_H_FILE=`echo "${VAGRANT_FOLDER}/${CUSTOM_H_FILE}"`
VAGRANT_PIO_ENVLIST_FILE=`echo "${VAGRANT_FOLDER}/${ENV_LIST_FILE}"`
SRC_CUSTOM_H_FILE=`echo "${SRC}/src/${CUSTOM_H_FILE}"`
SRC_PIO_ENVLIST_FILE=`echo "${SRC}/src/${ENV_LIST_FILE}"`
if [ -f ${VAGRANT_CUSTOM_H_FILE} ]; then
# replace Windows line endings with Unix line endings
sed 's/\r$//g' ${VAGRANT_CUSTOM_H_FILE} > ${SRC_CUSTOM_H_FILE}
echo "Copy ${VAGRANT_CUSTOM_H_FILE} > ${SRC_CUSTOM_H_FILE}"
fi
# Build custom_ESP8266_4M target in the platformio.ini file
PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e ${PIO_BUILDENV}
if [ -f ${VAGRANT_PIO_ENVLIST_FILE} ]; then
# replace Windows line endings with Unix line endings
sed 's/\r$//g' ${VAGRANT_PIO_ENVLIST_FILE} > ${SRC_PIO_ENVLIST_FILE}
input=`echo "${SRC_PIO_ENVLIST_FILE}"`
while IFS= read -r line
do
PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e $line
done < "$input"
else
# Build custom_ESP8266_4M target in the platformio.ini file
PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e ${PIO_BUILDENV}
fi
# rename and check file
DATE=`date +%Y%m%d`