fix(firmware): bust Kaniko cache + force sdkconfig regen to fix 16MB crash loop
Some checks are pending
CI Benchmark - Fusion Loop Timing / Fusion Loop Timing Benchmark (push) Waiting to run
Some checks are pending
CI Benchmark - Fusion Loop Timing / Fusion Loop Timing Benchmark (push) Waiting to run
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 <noreply@anthropic.com>
This commit is contained in:
parent
9ac200b719
commit
301a5884ce
2 changed files with 10 additions and 1 deletions
|
|
@ -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
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
0.1.353
|
||||
0.1.354
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue