Commit Graph
19 Commits
Author SHA1 Message Date
J. Nick Koston 3d540b1597 Require a resolved ccache, dedupe the package specs, use the shared cache spec 2026-08-22 21:16:27 -05:00
J. Nick Koston 0c5586c7dc Download the Arduino core and toolchain archives in parallel 2026-08-22 16:59:07 -05:00
J. Nick Koston cdde9dd230 Trim comment essays and hoist function-local test imports 2026-08-22 11:39:54 -05:00
J. Nick Koston 4eb31c45da Isolate the preresolved-ccache test from ambient CCACHE_DIR, future-tense the sentinel comment 2026-08-21 21:27:49 -05:00
J. Nick Koston 4101ad4fb1 One owner for the toolchain tool layout, thread a pre-resolved ccache
toolchain_tool carries the bin/xtensa-lx106-elf-<name> pattern and the
Windows suffix that four call sites previously spelled out (only one of
which handled the suffix). ccache_env and get_build_env accept the
already-resolved ccache path so run_compile can resolve once instead of
paying the PATH scan and runnability probe three times per build.
2026-08-21 20:46:10 -05:00
J. Nick Koston cbf1241401 Resolve the ccache path on every call, matching the espidf backend
functools.cache froze the ESPHOME_CCACHE_ENABLE/PATH decision for the
process lifetime, which a long-lived host like device-builder never
restarts, and forced a cache_clear fixture in the tests. The docstring
and test now pin the uncached delegation.
2026-08-21 15:33:51 -05:00
J. Nick Koston c07a5a8da4 Match the encoder's lower bound to the PlatformIO era guard, drop the unused logger
<= 2.6.2 instead of < 2.6.3: a 2.6.2 pre-release sorts above 2.6.2 and
belongs to the package-major-3 encoding, so the helper now describes
the same set as _format_framework_arduino_version and a 2.6.2-b1 pin
formats as it does on dev. The module never logged, so its _LOGGER and
logging import go.
2026-08-21 14:32:27 -05:00
J. Nick Koston 93a768531d Anchor the 4.x error to the version key, bound the encoder, build PATH without empty entries
cv.Invalid now carries path=[CONF_VERSION] so the rejection lands on
the framework version line the comment promised, matching the esp32
convention. framework_package_version raises for cores before 2.6.3
instead of encoding them wrongly for a caller that skipped the
PlatformIO path's era guard. get_build_env joins PATH from filtered
parts so an absent PATH cannot leave a trailing separator that the
shell reads as the current directory.
2026-08-21 14:12:20 -05:00
J. Nick Koston 1f1cab9c37 Anchor the 4.x rejection to the framework version line, isolate the ccache env test
The installer's EsphomeError becomes cv.Invalid at the config
validator, and test_ccache_env clears the ambient environment so a
developer's exported CCACHE_DIR cannot fail it.
2026-08-21 12:51:09 -05:00
J. Nick Koston 078bcba473 Backend-neutral unsupported-core message, pin the PIO source formatter 2026-08-20 23:55:15 -05:00
J. Nick Koston c1a0ed0d46 Reject only unknown package majors: 2.6.3+ cores share the package-major-3 encoding 2026-08-20 20:44:24 -05:00
J. Nick Koston 4969d9bf4a Pin the lx106 layout, reject non-3.x cores, pin installer args, delegate ccache policy tests 2026-08-20 20:39:20 -05:00
J. Nick Koston e36b8c5446 Point the ccache probe patch at its new module 2026-08-20 16:04:43 -05:00
J. Nick Koston b90aeb17e3 Hoist find_ninja to build_helpers, type the installed paths, dedupe espidf ccache env 2026-08-20 15:46:07 -05:00
J. Nick Koston 113259275c Move the PlatformIO registry installer to esphome.platformio.registry and transliterate get_systype 2026-08-20 15:25:12 -05:00
J. Nick Koston 38b6f222b5 Use a host table and the shared downloader for registry metadata 2026-08-20 15:12:37 -05:00
J. Nick Koston c72de504fd Hard install lock, ninja-first install order, enforced floor, backoff, and by-name host failures everywhere 2026-08-20 14:43:48 -05:00
J. Nick Koston 0fe9d87124 Share the ccache and tools-path helpers across the native backends 2026-08-20 14:04:38 -05:00
J. Nick Koston 3e77654719 Add the ESP8266 Arduino framework and toolchain installer 2026-08-20 12:58:06 -05:00