Commit Graph
17772 Commits
Author SHA1 Message Date
J. Nick Koston 7f440a06c2 [espidf] Only heal a corrupt index, let an I/O read error retry
Corruption reads fine but fails to parse; a plain read error says
nothing about the content, so it aborts the publish instead of
replacing an index whose versions other builds rely on.
2026-09-30 18:11:36 +02:00
J. Nick Koston f727c4e4bb [espidf] Heal an index whose versions field has the wrong shape 2026-09-30 18:03:23 +02:00
J. Nick Koston 0b178443d8 [espidf] Trim comments and docstrings to repo standard 2026-09-30 18:02:11 +02:00
J. Nick Koston 59bdcdbed4 [espidf] Publish indexes with one atomic write and share the index error tuple
The in-memory merge is written with the atomic write_file helper, so a
failed write keeps the live index by construction; the bool return, the
.merged sibling and its cleanup all go away, and a missing or unreadable
live index collapses into one branch. A shared error tuple also stops a
non-dict index entry from escaping the best effort handler, and the
reconfigure failure test now stubs the hint printer instead of resolving
a real IDF install.
2026-09-30 17:53:21 +02:00
J. Nick Koston eae283a843 [espidf] Keep the live index when a merge write fails
A first sync stays silent, an unreadable live index is replaced with a
warning to heal it, and a failed merge write skips promoting that index
so its listed versions survive; the synced version then shows uncovered
and a later run retries.
2026-09-30 17:41:39 +02:00
J. Nick Koston 4320eab456 [espidf] Cover the non-string manifest version and restore the ccache test header 2026-09-30 14:49:52 +02:00
J. Nick Koston 9948cbad59 [espidf] Treat a non-UTF-8 lock or manifest as unreadable 2026-09-30 14:42:21 +02:00
J. Nick Koston d33c98b5e0 [espidf] Mirror shorthand pins, require checksums files, decode sync output as UTF-8
The YAML shorthand keeps its == operator, so those exact pins now join
the manifest pass; coverage requires the checksums file the index names,
since the manager downloads it with no registry fallback; sync output is
decoded as UTF-8 with replacement so a stray byte cannot escape the best
effort handler; a skipped index merge is logged.
2026-09-30 14:37:34 +02:00
J. Nick Koston e166983ad2 [espidf] Merge the index through a sibling file and surface staging cleanup errors
A merged-index write that fails partway can no longer promote a
truncated file; the shared rmtree helper replaces the silent
ignore_errors delete, so stale staged files abort the sync instead of
being promoted.
2026-09-30 14:29:17 +02:00
J. Nick Koston 1091641008 Keep yaml off the upload fast path and let the toolchain own the mirror policy
A top level yaml import taxed every upload subprocess; it now loads
inside the one function that parses YAML, and the lazy import test
watches for it. The mirror env moves next to its sync gate behind one
_esphome_manages_idf predicate, so the two sides cannot diverge.
Promote renames go through the shared retry helper for Windows sharing
violations, ServiceDep prints its own spec, and the module docstring
records the registry sync fan out tradeoff. Duplicate and stale tests
cleaned up.
2026-09-30 14:14:25 +02:00
J. Nick Koston f149c6d14a Promote archives before indexes, recheck coverage, split lock errors
A concurrent configure can no longer see an index entry whose archive
has not landed; a clean sync that still leaves a dependency uncovered
now warns and trips the retry guard instead of resyncing every run;
mixed case manifest keys are lowercased to match the registry's paths;
lock contention stays a quiet skip while any other lock error warns
and counts as a failed attempt.
2026-09-30 14:02:06 +02:00
J. Nick Koston 3880be5e81 Cover the unreadable lock, typed version and corrupt index branches 2026-09-30 13:58:20 +02:00
J. Nick Koston fe1491fd26 [espidf] Stage the sync and promote files into the mirror with renames
The manager writes its files in place, so syncing into the live mirror
could expose a truncated index to a process configuring at the same
time; renames are atomic, and the staged index is merged with the
mirror's existing versions before promotion.
2026-09-30 13:43:50 +02:00
J. Nick Koston 64cd0dceb2 [espidf] Log the active mirror at info level so builds confirm it 2026-09-30 13:38:25 +02:00
J. Nick Koston cfb34599e5 [espidf] Log the active mirror at debug level 2026-09-30 13:36:29 +02:00
J. Nick Koston 6b0ba542a8 [espidf] Fold the shared parse skeleton and narrow the sync's locked region
Both parsers now share one dependency iterator; the lock acquire has a
single except since filelock's Timeout is an OSError; the subprocess try
covers only the run itself; run_compile syncs only on the up-to-date
branch, since the reconfigure branches sync inside run_reconfigure; the
sync takes the lock and manifest paths explicitly so toolchain spells
them the same way has_outdated_files does.
2026-09-30 13:30:17 +02:00
J. Nick Koston d843ce691c [espidf] Mirror from the manifest before the first solve and reuse filelock
The manifest is written before the first configure and carries exact pins,
so syncing from it lets a fresh solve install from the mirror instead of
downloading every archive twice. The sync moves into run_reconfigure so
every configure path is covered, and the hand-rolled lock file becomes the
filelock pattern the repo already uses, which the OS releases on a crash.
2026-09-30 13:24:37 +02:00
J. Nick Koston 67b55dd9cd [espidf] Mirror registry components locally so configures skip the registry 2026-09-30 13:11:10 +02:00
Panda 6c43247395 [core] Ignore empty CLI address cache entries (#19924) 2026-09-30 12:41:52 +02:00
J. Nick Koston e8c5cd56a8 [xdb401] Fix format warnings in the timing and raw pressure logs (#19945) 2026-09-30 11:28:46 +02:00
J. Nick Koston 9208804707 [json] Fix format truncation warnings in the arena tests (#19938) 2026-09-30 09:10:20 +00:00
J. Nick Koston 199cc08270 [midea] Fix a format warning in the esp32 test config (#19946) 2026-09-30 05:00:04 -04:00
J. Nick Koston 6121bb3bcf [ufm01] Fix a format warning when logging the frame sync position (#19944) 2026-09-30 04:59:23 -04:00
J. Nick Koston c2d830ebd3 [pmwcs3] Use the sub_* helpers for optional child entities (#19943) 2026-09-30 04:58:45 -04:00
J. Nick Koston a706fa9e6b [gdk101] Use the sub_* helpers for optional child entities (#19942) 2026-09-30 04:58:30 -04:00
J. Nick Koston 08ed25833d [mmc5603] Use the sub_* helpers for optional child entities (#19941) 2026-09-30 04:58:14 -04:00
J. Nick Koston 3062e1f844 [smt100] Use the sub_* helpers for optional child entities (#19940) 2026-09-30 04:58:02 -04:00
J. Nick Koston 39f41656b9 [seeed_mr60bha2] Use the sub_* helpers for optional child entities (#19939) 2026-09-30 04:57:46 -04:00
J. Nick Koston 987618b49e [micro_wake_word] Fix a format warning when logging a model version mismatch (#19937) 2026-09-30 04:57:01 -04:00
J. Nick Koston e7f2159f0e [api] Fix format warnings in the api test config (#19936) 2026-09-30 04:56:37 -04:00
J. Nick Koston f327cbbcfe [dlms_meter] Fix a format warning when logging the receive timeout (#19935) 2026-09-30 04:56:15 -04:00
J. Nick Koston 3cccdca771 [modbus] Fix a format warning when logging the frame buffer size (#19934) 2026-09-30 04:55:50 -04:00
Clyde StubbsandClaude Opus 5.5 5baad05926 [lvgl] Use contextvars to improve lvgl scheduling (#19242)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 04:54:38 -04:00
J. Nick Koston e111f1130c [max9611] Use the sub_* helpers for optional child entities (#19930) 2026-09-30 04:14:51 -04:00
J. Nick Koston 4d534dc420 [uponor_smatrix] Use the sub_* helpers for optional child entities (#19929) 2026-09-30 04:14:40 -04:00
J. Nick Koston 0fd0f72550 [alpha3] Use the sub_* helpers for optional child entities (#19928) 2026-09-30 04:14:27 -04:00
J. Nick Koston 4a34315fc7 [ufm01] Use the sub_* helpers for optional child entities (#19927) 2026-09-30 04:14:11 -04:00
J. Nick Koston 4a00cebd61 [kuntze] Use the sub_* helpers for optional child entities (#19926) 2026-09-30 04:13:53 -04:00
cd0a0f3fca [zigbee] Add cluster: device_class to expose ESP32 sensors via measurement clusters instead of Analog/Binary Input (#17388)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-09-29 21:48:08 -04:00
J. Nick Koston 23afdc1d9b [bme680] Use the sub_* helpers for optional child entities (#19917) 2026-09-29 21:32:45 -04:00
J. Nick Koston ef4d06e0ea [ld6002b] Use the sub_* helpers for optional child entities (#19918) 2026-09-29 21:32:13 -04:00
J. Nick Koston 83d689d944 [xiaomi_hhccjcy10] Use the sub_* helpers for optional child entities (#19919) 2026-09-29 21:32:02 -04:00
J. Nick Koston 203a7f70a3 [emc2101] Use the sub_* helpers for optional child entities (#19920) 2026-09-29 21:31:50 -04:00
J. Nick Koston 7d904b6330 [ens160_base] Use the sub_* helpers for optional child entities (#19921) 2026-09-29 21:31:39 -04:00
Jesse Hills ac1190094a [ethernet] Add KSZ8851SNL SPI ethernet support (#19883) 2026-09-30 13:48:10 +13:00
J. Nick Koston ed88002c37 [core] Extract native toolchain package archives in parallel (#18840) 2026-09-30 02:23:05 +02:00
Keith BurzinskiandClaude Fable 5.1 ef0819f983 [nfc] Hold NDEF records in a fixed-size list (#19912)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-30 01:12:55 +02:00
J. Nick Koston 7187acec04 [core] Add a line based yaml editor and use it for rename (#19410) 2026-09-30 11:15:14 +13:00
J. Nick Koston 25ddc94d5d [web_server_idf] Build state documents in a stack arena so a state event does no heap allocation (#19383) 2026-09-30 11:10:40 +13:00
J. Nick Koston 5502f620d4 [web_server_idf] Send events straight from the caller's buffers instead of a std::string (#19376) 2026-09-30 11:10:40 +13:00