|
2 | 2 |
|
3 | 3 | set -e
|
4 | 4 |
|
| 5 | +function build(){ |
| 6 | + local target=$1 |
| 7 | + local fqbn=$2 |
| 8 | + local chunk_index=$3 |
| 9 | + local chunks_cnt=$4 |
| 10 | + local sketches=$5 |
| 11 | + |
| 12 | + local BUILD_SKETCH="${SCRIPTS_DIR}/sketch_utils.sh build" |
| 13 | + local BUILD_SKETCHES="${SCRIPTS_DIR}/sketch_utils.sh chunk_build" |
| 14 | + |
| 15 | + local args="$ARDUINO_IDE_PATH $ARDUINO_USR_PATH" |
| 16 | + |
| 17 | + args+=" \"$fqbn\"" |
| 18 | + |
| 19 | + if [ "$OS_IS_LINUX" == "1" ]; then |
| 20 | + # CMake Test |
| 21 | + if [ "$chunk_index" -eq 0 ]; then |
| 22 | + bash "$ARDUINO_ESP32_PATH/${SCRIPTS_DIR}/check-cmakelists.sh" |
| 23 | + fi |
| 24 | + args+=" $target" |
| 25 | + args+=" $ARDUINO_ESP32_PATH/libraries" |
| 26 | + args+=" $chunk_index $chunks_cnt" |
| 27 | + ${BUILD_SKETCHES} ${args} |
| 28 | + else |
| 29 | + if [ "$OS_IS_WINDOWS" == "1" ]; then |
| 30 | + local ctags_version=`ls "$ARDUINO_IDE_PATH/tools-builder/ctags/"` |
| 31 | + local preprocessor_version=`ls "$ARDUINO_IDE_PATH/tools-builder/arduino-preprocessor/"` |
| 32 | + win_opts="-prefs=runtime.tools.ctags.path=$ARDUINO_IDE_PATH/tools-builder/ctags/$ctags_version |
| 33 | + -prefs=runtime.tools.arduino-preprocessor.path=$ARDUINO_IDE_PATH/tools-builder/arduino-preprocessor/$preprocessor_version" |
| 34 | + args+=" ${win_opts}" |
| 35 | + fi |
| 36 | + |
| 37 | + for sketch in ${sketches}; do |
| 38 | + ${BUILD_SKETCH} ${args} ${sketch} |
| 39 | + done |
| 40 | + fi |
| 41 | +} |
| 42 | + |
5 | 43 | if [ -z "$GITHUB_WORKSPACE" ]; then
|
6 | 44 | export GITHUB_WORKSPACE="$PWD"
|
7 | 45 | export GITHUB_REPOSITORY="espressif/arduino-esp32"
|
|
22 | 60 | #echo "Updating submodules ..."
|
23 | 61 | #git -C "$GITHUB_WORKSPACE" submodule update --init --recursive > /dev/null 2>&1
|
24 | 62 |
|
| 63 | +SCRIPTS_DIR="./.github/scripts" |
25 | 64 | if [ "$BUILD_PIO" -eq 0 ]; then
|
26 |
| - # ArduinoIDE ESP32 Test |
27 |
| - TARGET="esp32" |
28 |
| - FQBN="espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app" |
29 | 65 | source ./.github/scripts/install-arduino-ide.sh
|
30 |
| - source ./.github/scripts/install-arduino-core-esp32.sh |
31 |
| - if [ "$OS_IS_WINDOWS" == "1" ]; then |
32 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/WiFiClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino" && \ |
33 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/BLE/examples/BLE_server/BLE_server.ino" && \ |
34 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino" |
35 |
| - elif [ "$OS_IS_MACOS" == "1" ]; then |
36 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/WiFi/examples/WiFiClient/WiFiClient.ino" && \ |
37 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/WiFiClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino" && \ |
38 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/BluetoothSerial/examples/SerialToSerialBT/SerialToSerialBT.ino" && \ |
39 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/BLE/examples/BLE_server/BLE_server.ino" && \ |
40 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino" |
41 |
| - else |
42 |
| - # CMake Test |
43 |
| - if [ "$CHUNK_INDEX" -eq 0 ]; then |
44 |
| - bash "$ARDUINO_ESP32_PATH/.github/scripts/check-cmakelists.sh" |
45 |
| - fi |
46 |
| - build_sketches "$FQBN" "$TARGET" "$ARDUINO_ESP32_PATH/libraries" "$CHUNK_INDEX" "$CHUNKS_CNT" |
47 |
| - fi |
| 66 | + source ${SCRIPTS_DIR}/install-arduino-core-esp32.sh |
48 | 67 |
|
49 |
| - # ArduinoIDE ESP32S2 Test |
50 |
| - TARGET="esp32s2" |
51 |
| - FQBN="espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app" |
52 |
| - if [ "$OS_IS_WINDOWS" == "1" ]; then |
53 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/WiFi/examples/WiFiClient/WiFiClient.ino" && \ |
54 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/WiFiClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino" |
55 |
| - elif [ "$OS_IS_MACOS" == "1" ]; then |
56 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/WiFi/examples/WiFiClient/WiFiClient.ino" && \ |
57 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/WiFiClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino" |
58 |
| - else |
59 |
| - build_sketches "$FQBN" "$TARGET" "$ARDUINO_ESP32_PATH/libraries" "$CHUNK_INDEX" "$CHUNKS_CNT" |
60 |
| - fi |
| 68 | + FQBN_ESP32="espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app" |
| 69 | + FQBN_ESP32S2="espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app" |
| 70 | + FQBN_ESP32C3="espressif:esp32:esp32c3:PartitionScheme=huge_app" |
61 | 71 |
|
62 |
| - # ArduinoIDE ESP32C3 Test |
63 |
| - TARGET="esp32c3" |
64 |
| - FQBN="espressif:esp32:esp32c3:PartitionScheme=huge_app" |
65 |
| - if [ "$OS_IS_WINDOWS" == "1" ]; then |
66 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/WiFi/examples/WiFiClient/WiFiClient.ino" && \ |
67 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/WiFiClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino" |
68 |
| - elif [ "$OS_IS_MACOS" == "1" ]; then |
69 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/WiFi/examples/WiFiClient/WiFiClient.ino" && \ |
70 |
| - build_sketch "$FQBN" "$ARDUINO_ESP32_PATH/libraries/WiFiClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino" |
71 |
| - else |
72 |
| - build_sketches "$FQBN" "$TARGET" "$ARDUINO_ESP32_PATH/libraries" "$CHUNK_INDEX" "$CHUNKS_CNT" |
73 |
| - fi |
| 72 | + SKETCHES_ESP32="\ |
| 73 | + $ARDUINO_ESP32_PATH/libraries/WiFiClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino\ |
| 74 | + $ARDUINO_ESP32_PATH/libraries/BLE/examples/BLE_server/BLE_server.ino\ |
| 75 | + $ARDUINO_ESP32_PATH/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino\ |
| 76 | + " |
| 77 | + |
| 78 | + SKETCHES_ESP32XX="\ |
| 79 | + $ARDUINO_ESP32_PATH/libraries/WiFiClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino\ |
| 80 | + $ARDUINO_ESP32_PATH/libraries/WiFi/examples/WiFiClient/WiFiClient.ino\ |
| 81 | + " |
| 82 | + |
| 83 | + build "esp32" $FQBN_ESP32 $CHUNK_INDEX $CHUNKS_CNT $SKETCHES_ESP32 |
| 84 | + build "esp32s2" $FQBN_ESP32S2 $CHUNK_INDEX $CHUNKS_CNT $SKETCHES_ESP32XX |
| 85 | + build "esp32c3" $FQBN_ESP32C3 $CHUNK_INDEX $CHUNKS_CNT $SKETCHES_ESP32XX |
74 | 86 | else
|
75 |
| - source ./.github/scripts/install-platformio-esp32.sh |
| 87 | + source ./${SCRIPTS_DIR}/install-platformio-esp32.sh |
76 | 88 | # PlatformIO ESP32 Test
|
77 | 89 | BOARD="esp32dev"
|
78 | 90 | OPTIONS="board_build.partitions = huge_app.csv"
|
|
0 commit comments