Commit graph

64 commits

Author SHA1 Message Date
cjkas
4f7067388a ci: pin pioarduino 6.2.0
6.2.0.post1 reports itself as 6.2.0-post.1, which the pinned platform's
">=6.2.0" requirement reads as a pre-release, so every ESP32 build
fails at its first pio run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 22:11:26 +01:00
cjkas
99c6019431 feat: web UI protocol 2 client layer, JS and CSS bundles (step 2a)
- data-src/js: ProtoSchema (schema from the sync, short keys and names,
  defaults, cached by hash), ProtoModel (rooms, shades, groups, repeaters,
  header and status from the sync and the events) and ProtoClient (/ws,
  hello, sync with next, op() as a Promise of its reply, events, feeds,
  reconnect). Nothing uses them yet: 2b moves the UI onto them.
- minify.py joins js/*.js and index.js into index.js, and the three CSS
  files into app.css, so a page load opens fewer connections.
- test/js: node --test on the three modules, replaying the recorded
  fixtures; a CI job runs it and the firmware build waits for it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 15:00:23 +01:00
cjkas
a1622e652d build: move to pioarduino 55.03.312 (Arduino 3.3.12, ESP-IDF 5.5)
IDF 4.4 gets no more security fixes, and the planned RMT radio needs
IDF 5's RMT driver.  See docs/adr/0003-pioarduino-idf55.md.

- Every env on one pinned pioarduino release.  C6 drops its own
  library list and flags but stays a debug build on huge_app.
- Release envs build at CORE_DEBUG_LEVEL=2 so the ESP32 image fits its
  1.5 MB OTA slot (17 KB free); debug envs stay at 3.
- Drop the C3: its image is 76.5 KB over the OTA slot on IDF 5.5.
- CI installs pioarduino's Core and checks firmware.bin against the app
  partition, failing under 8 KB free.  PlatformIO's "Flash:" figure
  reads ~45 KB low and passed a C3 image that doesn't fit.
- esp_task_wdt_reconfigure(): on 3.x the core already starts the watchdog
  and esp_task_wdt_init() fails, so the C6 build kept the 5 s default.
- An updated firmware is kept only once it has run 60 s with the
  network up; a reset before then rolls back to the previous one.
- ETH.begin() takes the 3.x argument order; Arduino 2.x branches gone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 22:05:22 +02:00
cjkas
aa23b4624d ci: run native unit tests before firmware builds
Adds a "Unit tests" job running pio test -e native on ubuntu-latest.
The firmware build matrix waits for it, so a failing test also stops
release uploads.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:54:48 +02:00
cjkas
b785dc2967 build only on open PRs 2026-04-04 12:50:26 +02:00
cjkas
d15b05cfbd Preserve littlefs image before firmware build wipes it out 2026-04-04 12:44:57 +02:00
cjkas
15d5b064d4 improve release build 2026-04-04 12:40:14 +02:00
cjkas
9bcf2eb3f5 fix release build caused by tool rename 2026-04-04 12:02:31 +02:00
cjkas
72bfd26443 Added c6 support 2026-03-29 21:53:57 +02:00
cjkas
aa81b95bee Added OTA partition 1.5MB per app. Fixed s3 wrong partition for spiffs 2026-03-29 21:10:02 +02:00
cjkas
4a1df4dd67 Fix the backward compatibility for the UI upgrade 2026-03-29 12:13:50 +02:00
cjkas
76bb0627af ci builds now all variants 2026-03-28 08:47:42 +01:00
cjkas
89eb1b6357 Update version from release tag 2026-03-28 08:30:17 +01:00
cjkas
4fd95a055f Improve release build suport for multiple esp32 chips 2026-03-27 08:49:33 +01:00
cjkas
84e713d1b2 fix release build 2026-03-24 22:08:26 +01:00
cjkas
07e2e45333 update CI build scripts 2026-03-24 19:35:45 +01:00
Robert Strouse
eb75868adb Update build params for C3 #458 #454 2024-08-19 10:46:00 -07:00
Robert Strouse
5f15a7cc93 Bump workflow actions 2024-05-26 16:05:04 -07:00
Robert Strouse
e87f42fa50 Update reconnect procedure #385 2024-05-26 15:59:18 -07:00
Robert Strouse
c4e1dbe44b Bump Arduino core to 2.0.16 2024-05-04 13:36:55 -07:00
Robert Strouse
2feb420551 Groups #350, #354, Ethernet #348 2024-05-03 16:39:46 -07:00
Robert Strouse
25c8a66869 Add apple icons #326 2024-04-14 13:58:16 -07:00
Robert Strouse
b8967901de Update workflows 2024-03-22 08:34:26 -07:00
Robert Strouse
5141676724 Change workflows 2024-03-22 07:55:11 -07:00
Robert Strouse
775e82b766 Change build parameters for workflow 2024-03-21 20:23:36 -07:00
Robert Strouse
bbefe7fe6d Fix static IP for ETH connections #268 2024-02-12 17:36:57 -08:00
Robert Strouse
a81d1b843d Chunk web responses 2024-01-29 18:38:26 -08:00
jalcaras
b7afdb11fb New feature form 2024-01-15 15:28:18 +01:00
jalcaras
e48da7c03d New feature form 2024-01-15 15:27:01 +01:00
jalcaras
02808412a2 Bug report form 2024-01-15 15:21:00 +01:00
jalcaras
2f1d64f9c6 feat: add bugreport template for github* 2024-01-11 16:16:47 +01:00
Robert Strouse
51e3e4b15a Update the packages url 2023-12-31 13:34:49 -08:00
Robert Strouse
763b802d86 Make separate directories for builds 2023-12-31 12:37:26 -08:00
Robert Strouse
0710445b27 More messages in OTA 2023-12-30 20:36:29 -08:00
Robert Strouse
d18170b6e5 Latest esp32 release 2.0.11 2023-12-30 18:19:12 -08:00
Robert Strouse
b86bbdaa4a Add more error messages in firmware download 2023-12-30 18:15:51 -08:00
Robert Strouse
7a0ff2dffb Updating yml 2023-12-30 17:49:45 -08:00
Robert Strouse
948c4f50fd More changes to release.yml 2023-12-30 17:45:19 -08:00
Robert Strouse
363d27e00d Update Release.yml 2023-12-30 17:30:03 -08:00
Robert Strouse
e05522384c Minor fixes for workflow 2023-12-30 11:25:54 -08:00
Robert Strouse
e16f73dcbd Trying to get around token issues 2023-12-30 11:12:21 -08:00
Robert Strouse
4f9ac91b00 Trying GitOTA again 2023-12-30 11:07:04 -08:00
Robert Strouse
a944772f96 Improve workflows for GitOTA. 2023-12-30 10:55:15 -08:00
Robert Strouse
51fd2e9174 Add firmware files for each board type. 2023-12-29 18:10:37 -08:00
Robert Strouse
247a47cb10 Set USB jtag on S3 2023-12-27 11:56:31 -08:00
Robert Strouse
47ff9bb51f Remove subdirectory from build zips 2023-12-26 16:53:39 -08:00
Robert Strouse
610067c918 Try to get the release bins to compress 2023-12-26 16:45:16 -08:00
Robert Strouse
c074842d5a Compress image files 2023-12-26 16:35:05 -08:00
Robert Strouse
0d23e17f7b Fix workflow 2023-12-26 16:21:59 -08:00
Robert Strouse
d3cacd9fe6 More work on release action 2023-12-26 16:17:34 -08:00