J. Nick Koston
17f718e8c9
Simplify the native dispatch and CI cache wiring
...
A cache-arduino8266 composite action mirrors cache-esp-idf (one key
resolver, dev-writes/PR-restores) and both jobs pin
ESPHOME_ARDUINO8266_PREFIX so YAML and Python agree on the path by
construction. esp32 provides the native_toolchain_module hook, so the
shared dispatcher never names a backend and the unclaimed-native raise
loses its esp-idf carve-out; the esp8266 decode and run_compile hooks
resolve through the same seam. run_compile resolves ccache once and
threads it to the generator, env, and idedata; the compdb rule names
follow the shared kinds; the pio-options warner inlines into the driver
and derives its consumed set from the core routing constant; the
per-toolchain CI narrowing shares one body; create_components_graph is
memoized per run; the decode rate-limit drops its math sentinel.
2026-08-21 20:55:27 -05:00
J. Nick Koston
9ff0198865
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-21 09:58:45 -05:00
J. Nick Koston
6cb446baf8
State what the cache refresh actually writes
...
The comment claimed the refresh's sidecar records the CLI toolchain;
_refresh_sidecar returns early when a compile-written sidecar exists,
so the compile's toolchain stands. Reword the comment and the test
docstring to match.
2026-08-21 09:58:32 -05:00
J. Nick Koston
e5cfb1bdac
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
...
# Conflicts:
# tests/unit_tests/test_main.py
2026-08-21 01:06:06 -05:00
J. Nick Koston
8b9773c4bd
Gate only the cache read on an explicit CLI toolchain, keep the refresh
...
The upload/logs cache split: an explicit --toolchain still skips the
read and runs the per-platform validators, but the freshly validated
config is saved again so a later plain run keeps the fast path (the
sidecar records the resolved toolchain). check_supported_toolchain is
module-private now since it has no caller outside config_validation,
and require_platformio_toolchain's docstring describes what actually
happens when another platform's toolchain is passed.
2026-08-21 01:05:38 -05:00
J. Nick Koston
aae5538fd5
Gate uploads on a built firmware, refuse unclaimed native builds, seed the CI toolchain cache from dev
...
The upload path now checks CORE.firmware_bin exists before invoking
esptool and names the fix (compile first) instead of failing inside
esptool. compile_program raises when a native toolchain resolved but no
platform backend claimed the build rather than falling through to a
mis-configured PlatformIO project. The addr2line failure warning now
includes the exception so the cause is visible without debug logging.
CI: the native toolchain cache is restore-only on PRs and seeded by a
new dev-push job, mirroring seed-apt-cache; the key resolves the pinned
core and toolchain versions from code instead of hashing framework.py.
determine-jobs main() output tests now pin the esp8266_native pair.
2026-08-21 00:05:23 -05:00
J. Nick Koston
f8d3df8196
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
...
# Conflicts:
# tests/unit_tests/test_main.py
2026-08-20 23:48:20 -05:00
J. Nick Koston
24eb6354f9
Run validators when a CLI toolchain is given on the cache fast path, cover every LibreTiny family
2026-08-20 23:47:47 -05:00
J. Nick Koston
5b42eb3460
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-20 21:09:44 -05:00
J. Nick Koston
2c229debe8
Best-effort bad encodings, dedupe append warnings, tolerate structurally odd compile DBs
2026-08-20 21:09:38 -05:00
J. Nick Koston
58911dc8bc
Cover the missing-hook raise and the analyze-memory refusal
2026-08-20 21:01:14 -05:00
J. Nick Koston
a17300a4bb
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-20 20:53:32 -05:00
J. Nick Koston
6b6344b454
Cover the healthy post-compile idedata path
2026-08-20 20:53:30 -05:00
J. Nick Koston
a997b306ea
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-20 20:46:31 -05:00
J. Nick Koston
91eed262c8
Repr zero-arg script exceptions, surface a None idedata after an IDF build
2026-08-20 20:46:15 -05:00
J. Nick Koston
7aaa874150
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
...
# Conflicts:
# tests/unit_tests/test_main.py
2026-08-20 19:26:19 -05:00
J. Nick Koston
5bd328e6c4
Fail on a declared-but-absent extraScript, warn once per unsupported env method, split and widen tests
2026-08-20 19:25:33 -05:00
J. Nick Koston
8e63fa3c2a
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
...
# Conflicts:
# tests/unit_tests/test_main.py
2026-08-20 18:41:07 -05:00
J. Nick Koston
790c6d6353
Drop the never-hitting parse memo, guard the post-compile idedata refresh, pin the kind map
2026-08-20 18:40:29 -05:00
J. Nick Koston
d6a9fd5238
Adopt the shared toolchain check, dedupe the native-module dispatch, and complete the trigger set
2026-08-20 14:32:31 -05:00
J. Nick Koston
7065beaabc
Cover the native toolchain dispatch branches in idedata and analyze-memory
2026-08-20 01:53:50 -05:00
J. Nick Koston
3ae229f218
Fix analyze-memory test path expectations on Windows
2026-08-20 01:38:21 -05:00
J. Nick Koston
5df08d36be
Address review: wire analyze-memory and idedata for the native toolchain, warn on ignored platformio_options, verify downloads, surface silent failures
2026-08-20 01:34:15 -05:00
J. Nick Koston
60b7b874f1
Address review: route versioned bare libraries to the registry, deterministic MMU order, scoped toolchain branches, diagnostics
2026-08-20 00:00:51 -05:00
J. Nick Koston
3fe9cac1fc
Apply review cleanups to the native ESP8266 toolchain
2026-08-19 23:13:30 -05:00
J. Nick Koston
8811224c0e
Add full test coverage for the native ESP8266 toolchain
2026-08-19 22:59:05 -05:00
J. Nick Koston and GitHub
787a909aa4
[core] Don't block logs startup on MQTT IP discovery when addresses are known ( #18313 )
2026-08-13 12:11:32 +12:00
J. Nick Koston and GitHub
22153be4cd
[core] Add esphome logs over web_server HTTP SSE ( #17110 )
2026-08-12 22:00:07 +12:00
be5e28ea9e
[core] Warn when running a different source tree than the one you are in ( #18288 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-11 21:06:57 -04:00
J. Nick Koston and GitHub
eb0fac9cbf
[core] Only snapshot the user config when esphome config --no-defaults asks for it ( #18113 )
2026-08-05 21:20:52 -05:00
J. Nick Koston and GitHub
524b278811
[core] Defer stdlib imports out of the upload and logs fast path ( #18105 )
2026-08-05 19:09:00 -05:00
J. Nick Koston and GitHub
a2d1f73bca
[core] Defer voluptuous and bundle imports out of the upload and logs fast path ( #18093 )
2026-08-05 20:39:19 +00:00
J. Nick Koston and GitHub
253ecdd145
[core] Resolve the stacktrace decoder lazily behind an address gate ( #18048 )
2026-08-05 14:34:16 -05:00
J. Nick Koston and GitHub
6bcbdd79c3
[core] Lift the log line processor into esphome/stacktrace.py ( #18076 )
2026-08-05 08:43:14 -05:00
J. Nick Koston and GitHub
d47acf5d0b
[core] Read the mqtt IP discovery flag without importing the mqtt component ( #18066 )
2026-08-04 15:12:57 -05:00
J. Nick Koston and GitHub
d344fd74d1
[core] Read the esp32 variant for esptool without importing the esp32 package ( #18067 )
2026-08-04 19:47:07 +00:00
J. Nick Koston and GitHub
342f3d6994
[core] Share the stacktrace analyzer resolution in platform_hooks ( #18075 )
2026-08-04 14:38:28 -05:00
J. Nick Koston and GitHub
5abd100b53
[core] Resolve platform CLI hooks from a registry instead of importing the platform package ( #18044 )
2026-08-04 11:08:56 -05:00
J. Nick Koston and GitHub
4424af8c5b
[api] Move runtime log client out of the component package ( #18043 )
2026-08-03 19:57:52 -05:00
J. Nick Koston and GitHub
37be04f58e
[core] Reduce memory footprint of esphome upload ( #17684 )
2026-07-21 12:21:12 -10:00
J. Nick Koston and GitHub
cd8d76fa34
[esp8266] Fail fast when Rosetta 2 is missing on Apple Silicon Macs ( #17737 )
2026-07-21 08:17:01 +12:00
J. Nick Koston and GitHub
500d4aa9e9
[wireguard] Mark private keys sensitive, stop redacting public keys ( #17736 )
2026-07-20 20:13:56 +00:00
J. Nick Koston and GitHub
c0636e2bf7
[core] Make config-hash independent of machine-local paths ( #17523 )
2026-07-11 14:30:47 -10:00
cdd334284e
[rp2] Rename rp2040 platform to rp2 ( #17145 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-07-07 08:20:24 +12:00
Jonathan Swoboda and GitHub
0fb100f2d1
[core] Suppress unactionable legacy-redaction warning for substitutions ( #17242 )
2026-06-27 18:05:00 -04:00
Jesse Hills and GitHub
225d426d95
[core] Use CORE.is_* platform helpers in __main__ ( #17144 )
2026-06-23 08:40:16 -04:00
Jesse Hills and GitHub
d0e3e98d55
[dashboard] Remove legacy web dashboard ( #17124 )
2026-06-22 09:33:27 +12:00
J. Nick Koston and GitHub
921758f87d
[core] Clarify resolve error when a device has no network log/OTA transport ( #17107 )
2026-06-21 15:00:55 -05:00
Jonathan Swoboda and GitHub
53e85e07d4
[esp32] Support esphome idedata with the native ESP-IDF toolchain ( #17040 )
2026-06-18 15:56:21 -04:00
bd9375117a
[core] Honor transferred address cache in has_resolvable_address ( #17025 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-06-17 22:11:24 -05:00