Files
RuView/.github
Dragan Spiridonov f063a6b8c8 fix(ci): publish every firmware variant to the release, not just 8mb
The build matrix has produced ESP32-C6 artifacts on every firmware tag since
v0.8.0 — and C6 is the only variant that additionally builds and runs the
ADR-110 host tests — but no C6 asset has been published since v0.8.0. The
v0.8.4 notes state "ESP32-C6 all passed" while the release carries only the S3
8mb binary.

Root cause: firmware-ci.yml never attached anything to a release. It uploads
90-day Actions artifacts only, so release assets were being attached by hand
(v0.8.4 assets show uploader=ruvnet), which is exactly how one variant gets
forgotten. ci.yml and desktop-release.yml already automate this; firmware did
not.

Two changes:

1. Stage a bootloader and initial OTA data for every variant, not only 8mb.
   Without them the C6 artifacts could not flash a blank board even once
   published. The 8mb asset names are deliberately unchanged so existing docs
   and scripts keep working; other variants get suffixed names. Each variant
   also now emits SHA256SUMS, matching what the S3 release publishes by hand.

2. Add a release job, gated on a v*-esp32 tag, that downloads every variant's
   staged binaries and attaches them with fail_on_unmatched_files, using the
   same pinned softprops action desktop-release.yml already uses.

Verified: v0.8.4 was built for C6 locally with the exact CI toolchain and
recipe (espressif/idf:v5.4, idf.py set-target esp32c6) — 1,051,008 bytes
(1026 KB, inside the 1100/1152 KB budget), ADR-110 host tests 21 passed 0
failed, app descriptor version 0.8.4 / idf v5.4 identical to the published S3
image. The artifact this job would attach is known good.

actionlint clean; the one remaining SC2086 at line 88 is pre-existing and
untouched.
2026-08-31 17:18:03 +02:00
..