From 301a5884cebdd4e09e4e85483e4149126c251791 Mon Sep 17 00:00:00 2001 From: jedarden Date: Wed, 3 Jun 2026 23:14:10 -0400 Subject: [PATCH] fix(firmware): bust Kaniko cache + force sdkconfig regen to fix 16MB crash loop The 0.1.352 Docker image contained firmware compiled with CONFIG_ESPTOOLPY_FLASHSIZE=16MB despite sdkconfig.defaults being updated to 4MB in d837598. Kaniko served a cached firmware layer, bypassing the sdkconfig.defaults change. Result: ESP32-S3 (4MB flash) flashed via Web Serial crashed on every boot: spi_flash: Detected size(4096k) smaller than binary image header(16384k). Probe failed. Fix: - Add FIRMWARE_CACHE_BUST ARG before COPY in firmware stage (guarantees cache miss) - Add RUN rm -f sdkconfig sdkconfig.old so idf.py set-target regenerates from sdkconfig.defaults (CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y) on every build Bumps version to 0.1.354 to trigger a fresh CI build. Co-Authored-By: Claude Sonnet 4.6 --- Dockerfile | 9 +++++++++ VERSION | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 54b0879..78abc53 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,9 +25,18 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ exit 0; \ fi +# Bust Kaniko layer cache when flash size config changes (sdkconfig.defaults). +# Without this ARG, Kaniko can serve a cached firmware layer that was built with +# the old 16MB config even after sdkconfig.defaults is updated to 4MB. +ARG FIRMWARE_CACHE_BUST=2026-06-03 + WORKDIR /project COPY firmware/ ./ +# Remove any stale generated sdkconfig so set-target regenerates it from +# sdkconfig.defaults (which specifies CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y). +RUN rm -f sdkconfig sdkconfig.old + # Source export.sh to activate IDF toolchain (entrypoint is not called in build stages). # set-target must be run explicitly before build even when CONFIG_IDF_TARGET is in sdkconfig.defaults. # idf.py build produces build/spaxel-firmware.bin diff --git a/VERSION b/VERSION index 7fe8a15..831a1c0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.353 +0.1.354