J. Nick Koston
160299a41e
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 15:33:41 -05:00
J. Nick Koston
51ae50cb27
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 15:33:41 -05:00
J. Nick Koston
77915bd03e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:33:41 -05:00
J. Nick Koston
8b76d61e8f
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 15:33:40 -05:00
J. Nick Koston
f1d043c840
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 15:33:40 -05:00
J. Nick Koston
8bcf42921a
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 15:33:40 -05:00
J. Nick Koston
97701122be
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 15:33:40 -05:00
J. Nick Koston
b3f058613c
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:33:40 -05:00
J. Nick Koston
1eda5a8534
Skip already-cached archives in the download prefetch
...
The wave logged 'Downloading N libraries' before checking the
extraction markers, so a warm build announced downloads it never made.
URLSource gains an is_cached probe (best-effort in the prefetch) and a
fully warm wave stays silent.
2026-08-22 15:33:37 -05:00
J. Nick Koston
3641621b0e
Merge branch 'esp8266-native-ninja-emission' into esp8266-arduino-toolchain
2026-08-22 15:25:48 -05:00
J. Nick Koston
0910604166
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 15:25:48 -05:00
J. Nick Koston
db89d64c4e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:25:48 -05:00
J. Nick Koston
040c91259d
Mirror the URL rule in the bundled probe; fail on empty converted trees; harden build_tool argv
...
A URL-pinned dependency now skips the bundled probe (the walk resolves
the fork; adding the bundled copy would double the archive). A versioned
bundled candidate's non-platform manifest fault warns here since it
skips the walk's usability filter via provides(); version-less causes
stay at debug (the walk already warned). The pending drain logs a
manifest-name suppression at debug and drops its unreachable
bundled_names re-check. A converted tree with no sources and no headers
now fails by name at emit like the bundled case (test scaffolds gained
real source files). build_tool validates each mode's operand count and
a failed copy unlinks the partial output.
2026-08-22 15:25:37 -05:00
J. Nick Koston
1652088009
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 15:21:04 -05:00
J. Nick Koston
ff8f9786e9
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 15:21:04 -05:00
J. Nick Koston
4cbfdd3200
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
...
# Conflicts:
# tests/unit_tests/test_framework_helpers.py
2026-08-22 15:21:01 -05:00
J. Nick Koston
1f2b532394
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 15:20:42 -05:00
J. Nick Koston
520bf3f63b
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:20:42 -05:00
J. Nick Koston
1cf5df3d59
Merge the espidf parallel-prefetch branch and give library downloads its combined bar
...
Brings in #18513 (BatchDownloadProgress and the download_with_resume
progress callback) and extends the plumbing one level:
download_from_mirrors passes a progress callback to both target kinds,
Source/ConvertedLibrary.download thread it through, and the library
wave prefetch draws one combined bar sized by parallel HEAD requests
(no sizes, no bar). The thread-local bar suppression this replaces is
removed; a batch caller passing a tracker also owns the messaging, so
the per-file Downloading line only prints for solo downloads.
2026-08-22 15:19:58 -05:00
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
a2a93cc186
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
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
6171561b70
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 15:03:21 -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
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
4aba6c4670
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
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
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
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
961bff4790
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
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
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
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