J. Nick Koston
e8dea9b07f
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 15:10:17 -05:00
J. Nick Koston
2e570bdc02
Correct the board-check comment; note the override behavior of get_flash_ld_path
2026-08-22 15:10:14 -05:00
J. Nick Koston
e00229d22c
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 15:06:32 -05:00
J. Nick Koston
7c47cbdb73
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
...
# Conflicts:
# esphome/build_gen/arduino8266.py
2026-08-22 15:06:30 -05:00
J. Nick Koston
49dcc89130
Validate the board and flash-ld names; reject valued VTABLES defines; scope the damaged-cache recovery
...
The board name lands unquoted in two -D bodies and the flash linker
script name joins under the SDK and build ld dirs, so both are now
shape-validated like f_cpu. A VTABLES_IN_* define carrying a body would
split the compile line from the linker script and is refused. The
damaged-cache overwrite moves into a shared _write_generated helper
scoped to the comparison read: a corrupt existing copy is logged and
replaced (the testing-mode flash ld gets the same recovery), while a
genuine write failure still raises with its cause.
2026-08-22 15:05:58 -05:00
J. Nick Koston
ae38e587fa
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 15:03:22 -05:00
J. Nick Koston
b29fbe5839
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 15:03:21 -05:00
J. Nick Koston
58eea37e10
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:03:21 -05:00
J. Nick Koston
ae141a4712
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 15:03:21 -05:00
J. Nick Koston
a2a93cc186
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 15:03:21 -05:00
J. Nick Koston
6171561b70
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 15:03:21 -05:00
J. Nick Koston
35af304911
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 15:03:20 -05:00
J. Nick Koston
91836a8c69
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:03:20 -05:00
J. Nick Koston
f4482275cb
Pin sortedness on a nested fixture in the comment-order test
2026-08-22 15:03:07 -05:00
J. Nick Koston
298c78ff09
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 14:54:58 -05:00
J. Nick Koston
4ebdd88d7b
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 14:54:58 -05:00
J. Nick Koston
241e804879
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:54:58 -05:00
J. Nick Koston
5f2d0b9e93
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:54:58 -05:00
J. Nick Koston
4aba6c4670
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:54:58 -05:00
J. Nick Koston
d653a550bb
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:54:57 -05:00
J. Nick Koston
6f79518ee2
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:54:57 -05:00
J. Nick Koston
f599e37375
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:54:57 -05:00
J. Nick Koston
fd7e340e81
Type-hint the to_code test stub
2026-08-22 14:54:39 -05:00
J. Nick Koston
84a8ac3772
Use a docstring instead of pass in the to_code test stub
2026-08-22 14:54:24 -05:00
J. Nick Koston
2c6cbdef4d
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 14:52:41 -05:00
J. Nick Koston
9f64d54e50
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 14:52:40 -05:00
J. Nick Koston
9be1a67400
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:52:40 -05:00
J. Nick Koston
469fd5b2c4
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:52:40 -05:00
J. Nick Koston
961bff4790
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:52:40 -05:00
J. Nick Koston
cb02e15184
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:52:40 -05:00
J. Nick Koston
ab49aff931
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:52:39 -05:00
J. Nick Koston
910147139a
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:52:39 -05:00
J. Nick Koston
4a459e3d0d
Lift the remaining function-local imports in test_main to top level
2026-08-22 14:52:38 -05:00
J. Nick Koston
612775908e
Never substitute a URL-pinned dependency; rename the header-suffix set; warn on real bundled suppression
...
A dependency whose version is a repository URL names one specific
source, so it is now detected before the backend-provided skip and
resolves as git instead of being replaced by the bundled copy. The
library header-suffix set becomes LIBRARY_HEADER_SUFFIXES so it cannot
shadow esphome.const's narrower HEADER_FILE_EXTENSIONS. Suppressing a
genuinely bundled name on an external short-name match warns (an
accidental collision would surface as link errors), a converted library
with no sources and no headers warns by name, and the walk's
unreachable nameless-dependency check is gone.
2026-08-22 14:52:07 -05:00
J. Nick Koston
680753dbef
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# esphome/platformio/library.py
2026-08-22 14:50:04 -05:00
J. Nick Koston
8a4ade10e6
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:49:42 -05:00
J. Nick Koston
8cffd44ffd
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:49:42 -05:00
J. Nick Koston
e16008fc58
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:49:42 -05:00
J. Nick Koston
35a1136bea
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:49:41 -05:00
J. Nick Koston
3b091676bf
Drop the unreachable nameless-dependency check in the walk
...
normalize_dependencies guarantees every entry carries a non-empty
string name, so only the version can be absent.
2026-08-22 14:49:39 -05:00
J. Nick Koston
4d9da7284e
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 14:44:18 -05:00
J. Nick Koston
fd82f0f4bf
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 14:44:18 -05:00
J. Nick Koston
0883b6e5aa
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:44:18 -05:00
J. Nick Koston
ef93ebb67b
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:44:17 -05:00
J. Nick Koston
622be18709
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:44:17 -05:00
J. Nick Koston
ade6dbabae
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:44:17 -05:00
J. Nick Koston
182dc7f636
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:44:17 -05:00
J. Nick Koston
d7af5f37b6
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:44:17 -05:00
J. Nick Koston
121795fa8d
Trim comment and docstring essays
2026-08-22 14:44:12 -05:00
J. Nick Koston
28107bf966
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 14:41:35 -05:00
J. Nick Koston
594cc89b38
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 14:41:34 -05:00
J. Nick Koston
8fb771eec8
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:41:34 -05:00
J. Nick Koston
38be558603
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:41:34 -05:00
J. Nick Koston
4e48764bbe
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:41:34 -05:00
J. Nick Koston
deecfade13
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:41:34 -05:00
J. Nick Koston
ec237a2d06
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:41:33 -05:00
J. Nick Koston
a2267eb686
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:41:33 -05:00
J. Nick Koston
dbd6f323c0
Extract the build-info staleness check so its branches are testable
...
copy_src_tree is always mocked in the writer tests, so the new
missing/stale/unreadable debug branches were unreachable; the decision
moves into _build_info_stale with a test covering every branch.
2026-08-22 14:41:30 -05:00
J. Nick Koston
23bc88355b
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 14:38:09 -05:00
J. Nick Koston
342b61ef84
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 14:38:09 -05:00
J. Nick Koston
2903aa7c3e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:38:09 -05:00
J. Nick Koston
e4cb1d4f27
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:38:09 -05:00
J. Nick Koston
62a4cb3fe4
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:38:09 -05:00
J. Nick Koston
d3eaac6f47
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:38:08 -05:00
J. Nick Koston
2eec194d87
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
...
# Conflicts:
# tests/unit_tests/test_main.py
2026-08-22 14:38:04 -05:00
J. Nick Koston
3a9a6edc0e
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:37:46 -05:00
J. Nick Koston
11875ec040
Dump the main.cpp config comment with sorted keys
...
voluptuous fills schema defaults in set-iteration order, so the
validated dict's key order changes with the process hash seed; the
unsorted dump churned the comment block in main.cpp and relinked the
firmware on every esphome run for any config using a defaults-heavy
action (logger.log in a button's on_press was enough). Affects the
PlatformIO path identically.
2026-08-22 14:37:42 -05:00
J. Nick Koston
42134329e3
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 14:31:40 -05:00
J. Nick Koston
f9f642b81d
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 14:31:39 -05:00
J. Nick Koston
2e9ba5fa2d
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:31:39 -05:00
J. Nick Koston
eddb5981da
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:31:39 -05:00
J. Nick Koston
51221688f6
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:31:39 -05:00
J. Nick Koston
f695e9dceb
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:31:39 -05:00
J. Nick Koston
d8f6368716
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:31:38 -05:00
J. Nick Koston
a97b836012
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:31:38 -05:00
J. Nick Koston
afeb1a5ea1
Name the changed source when the writer flags a rebuild
...
Every sources_changed site now logs which file (or which build-info
staleness) triggered it, so a config that relinks on every run can be
diagnosed from one -v compile instead of diffing the build tree.
2026-08-22 14:31:36 -05:00
J. Nick Koston
57248d3d6f
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 14:21:11 -05:00
J. Nick Koston
007cd61fe4
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 14:21:11 -05:00
J. Nick Koston
b435bb9d4f
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:21:11 -05:00
J. Nick Koston
557ba9953d
Fail by name on a missing libraries dir; single frameworks warning; fix a vacuous test
...
A framework tree without libraries/ now raises naming the path instead
of silently rerouting every bundled name to the registry, matching the
empty-bundled-dir error. check_library_data accepts framework=None to
skip the framework check (mirroring platform=None), so the backend-side
platform re-check no longer re-fires the frameworks-mismatch warning
the walk already emitted. The platform-rejection-is-debug test patched
the wrong module and asserted nothing; it now patches the backend's
import and asserts the dependency is absent from the resolved set.
2026-08-22 14:21:08 -05:00
J. Nick Koston
1d88a5a92b
Keep no-op rebuilds quiet
...
A -n dry-run probe answers 'no work to do' without the real ninja spawn,
and running with cwd instead of -C drops the 'Entering directory' banner
on real builds too.
2026-08-22 14:14:37 -05:00
J. Nick Koston
3985ca5d51
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 14:12:57 -05:00
J. Nick Koston
b247df7692
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:12:57 -05:00
J. Nick Koston
0e1c7cbb7e
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 14:12:57 -05:00
J. Nick Koston
a890527ab3
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# esphome/platformio/library.py
2026-08-22 14:12:54 -05:00
J. Nick Koston
2d2750e031
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:11:40 -05:00
J. Nick Koston
0d508ccbc0
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
...
# Conflicts:
# tests/unit_tests/test_framework_helpers.py
2026-08-22 14:11:26 -05:00
J. Nick Koston
bf7a617934
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:11:02 -05:00
J. Nick Koston
803eef7de6
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:11:02 -05:00
J. Nick Koston
fb06b4d631
Download a wave of registry libraries in parallel
...
The walk now drains its frontier, prefetches the wave's registry
archives with a small thread pool (deduped by URL, progress bars
suppressed per thread since parallel bars would interleave), and then
processes the wave sequentially; the sequential download() call stays
authoritative so failures surface with resume exactly as before. Same
approach as the espidf tool prefetch in #18513 .
2026-08-22 14:10:40 -05:00
J. Nick Koston
eb62957b66
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 13:51:48 -05:00
J. Nick Koston
2a86ae572d
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 13:51:48 -05:00
J. Nick Koston
7fe793da17
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 13:51:48 -05:00
J. Nick Koston
447a411d45
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 13:51:48 -05:00
J. Nick Koston
ae2893992a
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 13:51:47 -05:00
J. Nick Koston
6b46e9fd03
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 13:51:47 -05:00
J. Nick Koston
2f053371ce
Guard the honored board_build branch against the empty-list form
...
voluptuous accepts [] for [cv.string], so vals[-1] could raise an
IndexError at codegen time; an empty list now falls through to the
ignored-option warning.
2026-08-22 13:51:35 -05:00
J. Nick Koston
47e87d7eb2
Dedupe the rejection warning and make bundled-name membership case-exact
...
The backend-side bundled filter now checks compatibility silently (the
shared walk owns the warning), so one manifest fault warns once instead
of twice. Bundled-name membership uses the exact on-disk directory
names instead of a per-name is_dir() probe, so a case-insensitive
filesystem cannot match a case-mismatched dependency and build the same
bundled library twice.
2026-08-22 13:50:29 -05:00
J. Nick Koston
255ca06325
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 13:16:00 -05:00
J. Nick Koston
893ec5d3f5
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 13:16:00 -05:00