diff --git a/.github/workflows/build-clang-doxy.yml b/.github/workflows/build-clang-doxy.yml index 8b48a8a3c..57192383b 100644 --- a/.github/workflows/build-clang-doxy.yml +++ b/.github/workflows/build-clang-doxy.yml @@ -60,13 +60,13 @@ jobs: wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2 wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin - build-esp32: - name: Build WipperSnapper ESP32 + build-esp32-4M: + name: Build WipperSnapper ESP32 4M runs-on: ubuntu-latest strategy: fail-fast: false matrix: - arduino-platform: ["feather_esp32", "feather_esp32_v2", "qtpy_esp32"] + arduino-platform: ["feather_esp32"] steps: - uses: actions/setup-python@v1 with: @@ -86,6 +86,82 @@ jobs: - name: Install extra Arduino libraries run: | git clone --quiet https://github.com/brentru/Adafruit_MQTT_Library.git /home/runner/Arduino/libraries/Adafruit_MQTT_Library + - name: Install Dependencies + run: | + pip3 install esptool + - name: build ESP32 platforms + run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} + - name: Rename build artifacts to reflect the platform name + run: | + mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin + mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.elf wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.elf + mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.map wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.map + mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.bootloader.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin + mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.partitions.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin + + - name: Check boot_app0 file existence (esp32 built from core, not-source) + id: check_files + uses: andstor/file-existence-action@v1 + with: + files: "/home/runner/.arduino15/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin" + + - name: boot_app0 file from arduino-cli core + if: steps.check_files.outputs.files_exists == 'true' + run: mv /home/runner/.arduino15/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin + + - name: boot_app0 file from esp32 source bsp + if: steps.check_files.outputs.files_exists == 'false' + run: mv /home/runner/Arduino/hardware/espressif/esp32/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin + + - name: Create combined binary using Esptool merge_bin + run: | + python3 -m esptool --chip esp32 merge_bin --flash_mode dio --flash_freq 80m --flash_size 4MB \ + -o wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.combined.bin \ + 0x1000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin \ + 0x8000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin \ + 0xe000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin \ + 0x10000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin + + - name: Zip build artifacts + run: | + zip -r wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.zip wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.* + - name: upload build artifacts zip + uses: actions/upload-artifact@v2 + with: + name: build-files + path: | + wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.zip + + + build-esp32-8M: + name: Build WipperSnapper ESP32 8M + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + arduino-platform: ["feather_esp32_v2", "qtpy_esp32"] + steps: + - uses: actions/setup-python@v1 + with: + python-version: '3.x' + - uses: actions/checkout@v2 + - name: Get WipperSnapper version + run: | + git fetch --prune --unshallow --tags + git describe --dirty --tags + echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags) + - uses: actions/checkout@v2 + with: + repository: adafruit/ci-arduino + path: ci + - name: Install CI-Arduino + run: bash ci/actions_install.sh + - name: Install extra Arduino libraries + run: | + git clone --quiet https://github.com/brentru/Adafruit_MQTT_Library.git /home/runner/Arduino/libraries/Adafruit_MQTT_Library + - name: Install Dependencies + run: | + pip3 install esptool - name: build ESP32 platforms run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} - name: Rename build artifacts to reflect the platform name @@ -110,6 +186,15 @@ jobs: if: steps.check_files.outputs.files_exists == 'false' run: mv /home/runner/Arduino/hardware/espressif/esp32/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin + - name: Create combined binary using Esptool merge_bin + run: | + python3 -m esptool --chip esp32 merge_bin --flash_mode dio --flash_freq 80m --flash_size 8MB \ + -o wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.combined.bin \ + 0x1000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin \ + 0x8000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin \ + 0xe000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin \ + 0x10000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin + - name: Zip build artifacts run: | zip -r wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.zip wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.* @@ -317,7 +402,7 @@ jobs: clang_and_doxy: runs-on: ubuntu-latest - needs: [build-samd, build-esp32, build-esp32c3, build-esp32sx, build-esp8266, build-samd-non-fs] + needs: [build-samd, build-esp32-4M, build-esp32-8M, build-esp32c3, build-esp32sx, build-esp8266, build-samd-non-fs] steps: - uses: actions/setup-python@v1 with: diff --git a/library.properties b/library.properties index 743a46b10..7fc2729e1 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Adafruit WipperSnapper -version=1.0.0-beta.39 +version=1.0.0-beta.40 author=Adafruit maintainer=Adafruit <adafruitio@adafruit.com> sentence=Arduino client for Adafruit.io WipperSnapper diff --git a/src/Wippersnapper.h b/src/Wippersnapper.h index 24ce28f31..a7fcdbc33 100644 --- a/src/Wippersnapper.h +++ b/src/Wippersnapper.h @@ -60,7 +60,7 @@ #endif #define WS_VERSION \ - "1.0.0-beta.39" ///< WipperSnapper app. version (semver-formatted) + "1.0.0-beta.40" ///< WipperSnapper app. version (semver-formatted) // Reserved Adafruit IO MQTT topics #define TOPIC_IO_THROTTLE "/throttle" ///< Adafruit IO Throttle MQTT Topic