J. Nick Koston
050aa1ea21
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 17:24:38 -05:00
J. Nick Koston
09d349882e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 17:24:38 -05:00
J. Nick Koston
2a1af47cef
Normalize git tails in external short names; surface the name-match suppressions
2026-08-22 17:24:26 -05:00
J. Nick Koston
a7fe085e87
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 17:10:24 -05:00
J. Nick Koston
aa3330071a
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 17:10:24 -05:00
J. Nick Koston
385e2a92d2
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 17:10:23 -05:00
J. Nick Koston
a5fde9429d
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 17:10:23 -05:00
J. Nick Koston
e63d995d1f
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 17:10:23 -05:00
J. Nick Koston
ad0859c5bd
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 17:10:23 -05:00
J. Nick Koston
27aef88077
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 17:10:23 -05:00
J. Nick Koston
bff8bea83e
Degrade garbage Content-Length probes; never prefetch an unverifiable tool archive
2026-08-22 17:10:19 -05:00
J. Nick Koston
a143d192c5
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 16:59:09 -05:00
J. Nick Koston
beb605a2d7
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 16:59:09 -05:00
J. Nick Koston
f3ae985f67
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 16:59:09 -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
4ece0da68c
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 16:58:37 -05:00
J. Nick Koston
712ee229e5
Prefetch pending registry packages in parallel under one combined bar
2026-08-22 16:58:24 -05:00
J. Nick Koston
e9c2363a38
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 16:41:53 -05:00
J. Nick Koston
727197d07a
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 16:41:53 -05:00
J. Nick Koston
0df7736d75
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 16:41:53 -05:00
J. Nick Koston
80c9c4cef3
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 16:41:53 -05:00
J. Nick Koston
3974a810bc
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 16:41:52 -05:00
J. Nick Koston
bc98ba3b46
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 16:41:52 -05:00
J. Nick Koston
dcf921d5f6
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 16:41:52 -05:00
J. Nick Koston
49d060fdfd
Correct the _content_lengths contract docs and pin the unknown-size fallback
2026-08-22 16:41:40 -05:00
J. Nick Koston
39d18e7411
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 16:38:31 -05:00
J. Nick Koston
23fc61d9b1
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 16:38:31 -05:00
J. Nick Koston
f4844e2d69
Accept precompiled=false, keep same-file copies intact, ungate the empty-match warning
2026-08-22 16:38:21 -05:00
J. Nick Koston
0ace5d0415
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 16:16:23 -05:00
J. Nick Koston
8f3e9f97c0
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 16:16:23 -05:00
J. Nick Koston
f1c751c3b4
Rename the link-field guard to match its raising behavior
2026-08-22 16:16:14 -05:00
J. Nick Koston
b024fd53dd
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 16:10:10 -05:00
J. Nick Koston
466d67788e
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 16:10:09 -05:00
J. Nick Koston
f2f5ea127e
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 16:10:09 -05:00
J. Nick Koston
a4c1c89e67
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 16:10:09 -05:00
J. Nick Koston
ebafc439ac
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 16:10:09 -05:00
J. Nick Koston
d1d2f186ab
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 16:10:08 -05:00
J. Nick Koston
2acde317d2
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 16:10:08 -05:00
J. Nick Koston
f2ff1cc986
Keep per-file bars when sizes are unknown; harden the prefetch probes
...
An unknown Content-Length (probe failure, non-2xx, or a CDN omitting it
on HEAD) now skips the parallel prefetch so the sequential downloads
keep their per-file bars, instead of a silent multi-MB batch; the HEAD
helper returns None for unknown, distinct from a genuine zero, and
catches only RequestException. The cache probe logs its failure at
debug. The espidf tool prefetch reads sizes with .get so a missing size
only drops the bar instead of aborting the resumable prefetch. The
idedata warning logs its traceback at debug for parser regressions, and
framework_helpers joins the ESP-IDF infra CI triggers it is imported
by.
2026-08-22 16:10:03 -05:00
J. Nick Koston
7d51911102
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 15:58:11 -05:00
J. Nick Koston
792685facf
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:58:11 -05:00
J. Nick Koston
77704c0909
Refuse unsupported manifest features by name; drop the dead warn branch
...
A bundled manifest relying on an extraScript, or any manifest declaring
precompiled/ldflags, now raises naming the library instead of warning
into a link failure far from the cause. The backend-side usability
re-check logs all InvalidLibrary causes at debug with an accurate
comment: the walk runs dependency_is_usable on every versioned entry
before the provides() skip, so the fault always warns there first (a
real-converter test pins the once-only warning). build_tool handles a
missing subcommand with its named error instead of an IndexError.
2026-08-22 15:57:30 -05:00
J. Nick Koston
11964b86a8
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 15:51:42 -05:00
J. Nick Koston
3f006545c1
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 15:51:42 -05:00
J. Nick Koston
1a64f03994
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:51:42 -05:00
J. Nick Koston
f8484158ad
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 15:51:42 -05:00
J. Nick Koston
a7777e4589
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 15:51:41 -05:00
J. Nick Koston
2315f54f2e
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 15:51:41 -05:00
J. Nick Koston
4e6a8e297e
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:51:41 -05:00
J. Nick Koston
86ac8f661b
Fold the dependency-entry validation into one helper
...
The name and version checks were duplicated across the dict-shorthand
and list spellings with four identical warnings; _valid_dependency_entry
carries them once.
2026-08-22 15:51:38 -05:00
J. Nick Koston
a2e4664e87
Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
2026-08-22 15:47:12 -05:00
J. Nick Koston
9d38ac8d6c
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:47:12 -05:00
J. Nick Koston
7694ffb5ac
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# esphome/platformio/library.py
2026-08-22 15:47:09 -05:00
J. Nick Koston
7f6aaeb46c
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 15:46:47 -05:00
J. Nick Koston
7a938af0f8
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 15:46:47 -05:00
J. Nick Koston
776b3844f9
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 15:46:47 -05:00
J. Nick Koston
689861ffc9
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:46:47 -05:00
J. Nick Koston
eec01ea793
Diagnosable prefetch failures, Ctrl-C-safe pool, typed dependency versions
...
The library prefetch pool now cancels queued futures on interrupt like
the espidf pool it mirrors, prefetch and HEAD failures log their cause
at debug (a suppressed bar is traceable), and non-2xx HEAD statuses read
as unknown size. normalize_dependencies rejects a non-string version in
both spellings (a container would raise from set.add(); an int fails
opaquely in the registry), and the walk's version-less skip logs the
dependency at debug until the arduino-backend reconciliation lands.
2026-08-22 15:46:38 -05:00
J. Nick Koston
b888d41cb9
Diagnosable prefetch failures, Ctrl-C-safe pool, typed dependency versions
...
The library prefetch pool now cancels queued futures on interrupt like
the espidf pool it mirrors, prefetch and HEAD failures log their cause
at debug (a suppressed bar is traceable), and non-2xx HEAD statuses read
as unknown size. normalize_dependencies rejects a non-string version in
both spellings (a container would raise from set.add(); an int fails
opaquely in the registry), and the walk's version-less skip logs the
dependency at debug until the arduino-backend reconciliation lands.
2026-08-22 15:46:06 -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
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
f1d043c840
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
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
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
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
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
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
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
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