From 8a3e9e9512fd85bf42f67665dbf8d3c3a1dd3ab6 Mon Sep 17 00:00:00 2001 From: Luca <102960244+Luca-Timo@users.noreply.github.com> Date: Mon, 2 Mar 2026 13:51:56 +0100 Subject: [PATCH 1/2] Add ESP32-S3 DevKit build to GitHub Actions release workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This adds automated build steps for the ESP32-S3 DevKit (esp32s3box environment) to the release workflow. When a release is published, it will now also build: - BE__ESP32-S3-DevKit.ota.bin (for OTA updates via web interface) - BE__ESP32-S3-DevKit.factory.bin (for initial flashing) The ESP32-S3 build uses: - 4MB flash size - esp32s3 chip - Same partition scheme as other environments (min_spiffs.csv) Users can download the .ota.bin file from GitHub releases and upload it via the web interface at http:///update 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .github/workflows/release-assets.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/release-assets.yml b/.github/workflows/release-assets.yml index e297d6a4c..fef64c3a5 100644 --- a/.github/workflows/release-assets.yml +++ b/.github/workflows/release-assets.yml @@ -77,6 +77,16 @@ jobs: esptool --chip esp32 merge-bin -o .pio/build/stark_330/factory.bin --flash-mode dio --flash-freq 80m --flash-size 8MB 0x1000 .pio/build/stark_330/bootloader.bin 0x8000 .pio/build/stark_330/partitions.bin 0xe000 ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin 0x10000 .pio/build/stark_330/firmware.bin mv .pio/build/stark_330/factory.bin output/BE_${{ steps.vars.outputs.tag }}_StarkCMR.factory.bin + - name: 🛠 Build ota image for ESP32-S3 DevKit + run: | + pio run -e esp32s3box + cp .pio/build/esp32s3box/firmware.bin output/BE_${{ steps.vars.outputs.tag }}_ESP32-S3-DevKit.ota.bin + + - name: 🛠 Build factory image for ESP32-S3 DevKit + run: | + esptool --chip esp32s3 merge-bin -o .pio/build/esp32s3box/factory.bin --flash-mode dio --flash-freq 80m --flash-size 4MB 0x0000 .pio/build/esp32s3box/bootloader.bin 0x8000 .pio/build/esp32s3box/partitions.bin 0xe000 ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin 0x10000 .pio/build/esp32s3box/firmware.bin + mv .pio/build/esp32s3box/factory.bin output/BE_${{ steps.vars.outputs.tag }}_ESP32-S3-DevKit.factory.bin + - name: 🌐 Deploy to Web Installer repo env: WEB_INSTALLER_PUSH_TOKEN: ${{ secrets.WEB_INSTALLER_PUSH_TOKEN }} From 638dccb2c31765ad93389c7bb43f7ab3713e4f20 Mon Sep 17 00:00:00 2001 From: Luca <102960244+Luca-Timo@users.noreply.github.com> Date: Mon, 2 Mar 2026 14:36:21 +0100 Subject: [PATCH 2/2] Fix unit test compilation: wrap driver/gpio.h include MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The hal.h file was including unconditionally, which caused unit test compilation to fail since this ESP32-specific header doesn't exist in the test emulation environment. Wrapped the include with #ifndef UNIT_TEST to exclude it during tests. The CMakeLists.txt already defines UNIT_TEST for test builds. Fixes GitHub Actions unit test failures: - fatal error: driver/gpio.h: No such file or directory Verified builds still work: - esp32s3box: SUCCESS - lilygo_330: SUCCESS - compiler_warning_check: SUCCESS 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- Software/src/devboard/hal/hal.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Software/src/devboard/hal/hal.h b/Software/src/devboard/hal/hal.h index 21e7fd328..a641f6f70 100644 --- a/Software/src/devboard/hal/hal.h +++ b/Software/src/devboard/hal/hal.h @@ -1,7 +1,9 @@ #ifndef _HAL_H_ #define _HAL_H_ +#ifndef UNIT_TEST #include +#endif #include #include #include