J. Nick Koston
4e88823faf
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 23:41:57 -05:00
J. Nick Koston
ec6123e0ef
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 23:41:57 -05:00
J. Nick Koston
da3c6dec7f
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 23:41:56 -05:00
J. Nick Koston
af16c444d4
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 23:23:40 -05:00
J. Nick Koston
327630523c
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 23:23:40 -05:00
J. Nick Koston
0e4f4237fd
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 23:23:40 -05:00
J. Nick Koston
4bb0fa8761
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 23:21:07 -05:00
J. Nick Koston
1b109518f7
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 23:21:06 -05:00
J. Nick Koston
5793a5f08a
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 23:21:06 -05:00
J. Nick Koston
9e96d53868
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 22:58:47 -05:00
J. Nick Koston
905c806009
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 22:58:47 -05:00
J. Nick Koston
42f59f94c9
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 22:58:47 -05:00
J. Nick Koston
6a0e7dc595
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 22:39:48 -05:00
J. Nick Koston
6fda5b9a07
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 22:39:48 -05:00
J. Nick Koston
5ac6e2b3c6
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 22:39:47 -05:00
J. Nick Koston
e4911b4cc2
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 22:32:37 -05:00
J. Nick Koston
e714ef4dfc
Reconcile BOARDS with the generated table: d1_wroom_02 joins with its shipped flash layout
2026-08-22 22:32:26 -05:00
J. Nick Koston
e9466ff738
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 22:05:03 -05:00
J. Nick Koston
b9317de2e8
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 22:05:03 -05:00
J. Nick Koston
4d6300b400
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 22:05:03 -05:00
J. Nick Koston
da9c0bdd14
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 21:59:57 -05:00
J. Nick Koston
21abf1692b
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 21:41:27 -05:00
J. Nick Koston
a22c2a9768
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 21:41:27 -05:00
J. Nick Koston
18206967a1
Validate captured CPPDEFINES, warn on empty idedata includes, name the idedata consumers
2026-08-22 21:40:57 -05:00
J. Nick Koston
75150fda52
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 21:27:39 -05:00
J. Nick Koston
791e2b8204
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 21:27:39 -05:00
J. Nick Koston
d9e18ee982
Support subscript env reads in extra scripts; make the INFO-capture fixture real
2026-08-22 21:27:31 -05:00
J. Nick Koston
f49a5879c3
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 21:24:07 -05:00
J. Nick Koston
d26d3fdc33
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 21:24:06 -05:00
J. Nick Koston
227f5c67e2
Merge remote-tracking branch 'origin/dev' into esp8266-native-shared-helpers
...
# Conflicts:
# tests/unit_tests/test_main.py
2026-08-22 21:23:40 -05:00
J. Nick Koston
cc27854fb2
Point the consumed-options comment at its now-real consumer
2026-08-22 21:12:37 -05:00
J. Nick Koston
044d593f09
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 21:12:36 -05:00
J. Nick Koston
68e04f5982
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 21:12:36 -05:00
J. Nick Koston
d6d80ee323
Consolidate the batch-download scaffold, share the idedata error set, dedupe compdb tokenizing
2026-08-22 21:12:20 -05:00
J. Nick Koston
2e3dc3c514
Note the consumed-options export is unused until the backend lands
2026-08-22 20:13:45 -05:00
J. Nick Koston
149ca8c954
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 20:01:31 -05:00
J. Nick Koston
0d33c3bf07
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 20:01:31 -05:00
J. Nick Koston
2acba9b364
Materialize the tracker mock before the prefetch threads race its creation
2026-08-22 20:01:13 -05:00
J. Nick Koston
36b0b62a8f
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 19:55:33 -05:00
J. Nick Koston
8475a4bf09
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 19:55:33 -05:00
J. Nick Koston
f4bc7dda35
Fault the cache read directly so the unreadable-cache test holds on Windows
2026-08-22 19:55:16 -05:00
J. Nick Koston
cbbc0a8fa9
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 19:46:45 -05:00
J. Nick Koston
1f0fa0ef8b
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 19:46:45 -05:00
J. Nick Koston
7d246893be
Surface prefetch failures, harden the idedata and build-info cache reads
2026-08-22 19:46:42 -05:00
J. Nick Koston
82b20313b0
Export the consumed platformio_options set so the ignored-option warning cannot drift
2026-08-22 19:14:32 -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
ad0859c5bd
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
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
bc98ba3b46
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 16:41:52 -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
49d060fdfd
Correct the _content_lengths contract docs and pin the unknown-size fallback
2026-08-22 16:41:40 -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
d1d2f186ab
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
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
4e6a8e297e
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
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
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
689861ffc9
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
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
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
b3f058613c
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
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
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
520bf3f63b
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:20:42 -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
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
91836a8c69
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:03:20 -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
f4482275cb
Pin sortedness on a nested fixture in the comment-order test
2026-08-22 15:03:07 -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
6f79518ee2
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
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
910147139a
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:52:39 -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
4a459e3d0d
Lift the remaining function-local imports in test_main to top level
2026-08-22 14:52:38 -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
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
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
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
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
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
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
2dac9112be
Pin the scalar shape for the honored board_build options; note the dispatch coupling
...
The schema permits the list form, so the routing now stores the last
value (like a later platformio.ini line) and the generator always sees a
scalar. The using_native_toolchain docstring points at write_cpp_file's
dispatch so NATIVE_TOOLCHAINS membership and the project-writing branch
flip together.
2026-08-22 13:15:47 -05:00
J. Nick Koston
a6ca775a48
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 12:46:29 -05:00
J. Nick Koston
315f41e884
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 12:46:29 -05:00
J. Nick Koston
65609bb94b
Move the backend-agnostic library hardening down from the arduino backend PR
...
The typed IncompatiblePlatform exception, dependency_is_usable,
warn_properties_depends, the lex_build_flags helper (espidf switches to
it), the normalize_dependencies validation, the manifest shape check,
the component-level drop-warning split, and the SCons case-sensitive
.C/.C++ suffixes all harden the shared converter independently of the
arduino backend, so they belong in this PR; the provides hook and the
version-less reconciliation stay with the backend that needs them.
2026-08-22 12:46:16 -05:00
J. Nick Koston
60cf44de3b
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 12:15:38 -05:00
J. Nick Koston
072b65c0e2
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 12:15:38 -05:00
J. Nick Koston
f71867ed2d
Merge remote-tracking branch 'origin/dev' into esp8266-native-shared-helpers
2026-08-22 12:15:30 -05:00
J. Nick Koston
f28be76c84
Fix comment drift: conditional cache refresh, future-tense generator consumer
2026-08-22 11:55:15 -05:00
J. Nick Koston
24e5b1800f
Trim comment essays and hoist function-local test imports
2026-08-22 11:37:16 -05:00
J. Nick Koston
11eca53a18
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 11:35:41 -05:00
J. Nick Koston
f08e06f574
Trim comment essays and hoist function-local test imports
2026-08-22 11:35:35 -05:00
J. Nick Koston
27f4db8458
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 11:34:57 -05:00
J. Nick Koston
e99e0cc8b8
Trim comment essays and hoist function-local test imports
2026-08-22 11:34:32 -05:00
J. Nick Koston
a527b21761
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-21 20:56:36 -05:00
J. Nick Koston
4d63564cdd
Phrase the board-table regen comment imperatively
2026-08-21 20:56:27 -05:00
J. Nick Koston
e9d6132c61
Name the honored native-arduino pio options once
...
NATIVE_ARDUINO_PIO_OPTIONS is the single list the routing reads; the
backend's ignored-option warning consumes it too, so honoring a new key
is one edit instead of two synchronized ones.
2026-08-21 20:43:43 -05:00
J. Nick Koston
d8c02221cc
Route board_build.ldscript through to the native ESP8266 generator too
...
Published configs override it to reserve a filesystem region
(SmartIntercom's eagle.flash.4m2m.ld) or to correct a board's assumed
flash size (2 MB ESP8285 plugs pinning eagle.flash.2m.ld); dropping it
changes the flash layout under them.
2026-08-21 20:27:33 -05:00
J. Nick Koston
7fb18f395f
Honor board_build.f_cpu under the native ESP8266 Arduino toolchain
...
Dropping it was a real regression: many published ESP8266 configs pin
board_build.f_cpu: 160000000L for timing-sensitive integrations
(MHI-AC-Ctrl documents the 160 MHz requirement in its example), and the
warn-and-drop left those devices at 80 MHz. The option now routes into
CORE.platformio_options under toolchain: arduino for the generator to
consume; other native toolchains keep the warning.
2026-08-21 20:25:23 -05:00
J. Nick Koston
c93cf55967
Skip the cache refresh when the CLI toolchain differs from the compile's
...
Platforms normalize toolchain-sensitive keys differently (the esp32
board name, for one), so a config validated under a mismatching
--toolchain must not overwrite the cache while the sidecar keeps the
compile's toolchain. The guard lives in _refresh_sidecar where the old
sidecar is already loaded; legacy sidecars without the field are
unaffected.
2026-08-21 11:14:26 -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
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
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
19555e8eaf
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 22:08:43 -05:00
J. Nick Koston
d47dc0d992
Pin fingerprint stability and sensitivity behaviorally, note the platform pairing
2026-08-20 22:08:41 -05:00
J. Nick Koston
38744e4222
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 21:09:43 -05:00
J. Nick Koston
9624abcd57
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 21:09:42 -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
e266a449e0
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 20:53:31 -05:00
J. Nick Koston
6a0ce046fd
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 20:53:31 -05:00
J. Nick Koston
6b6344b454
Cover the healthy post-compile idedata path
2026-08-20 20:53:30 -05:00
J. Nick Koston
b3d908d10e
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 20:48:32 -05:00
J. Nick Koston
09fd3fb53b
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 20:48:32 -05:00
J. Nick Koston
73ab04330e
Treat sys.exit(0) as script success, fail on an unreadable declared script
2026-08-20 20:48:30 -05:00
J. Nick Koston
9fccf1ce33
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 20:46:30 -05:00
J. Nick Koston
b8bb4453e0
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 20:46:30 -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
b42babf749
Route platformio build_unflags natively, correct the gate and fallback comments
2026-08-20 20:35:49 -05:00
J. Nick Koston
e1c4984498
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 20:34:25 -05:00
J. Nick Koston
3063b9067a
State what the fingerprint test actually pins
2026-08-20 20:34:24 -05:00
J. Nick Koston
1958746ae0
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 19:51:28 -05:00
J. Nick Koston
62c27826ee
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 19:51:27 -05:00
J. Nick Koston
c95e0b90f5
Raise on a traversing extraScript, survive sys.exit in vendored scripts, fix the caveats wording
2026-08-20 19:51:26 -05:00
J. Nick Koston
321bc3b459
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 19:29:28 -05:00
J. Nick Koston
84a3c39562
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 19:29:28 -05:00
J. Nick Koston
5cf2135038
Cover the warn-once dedup branch
2026-08-20 19:29:27 -05:00
J. Nick Koston
13e84e9bff
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 19:25:45 -05:00
J. Nick Koston
7ad97697b2
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 19:25:45 -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
ac1160de25
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 19:02:46 -05:00
J. Nick Koston
5cec72020f
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 19:02:46 -05:00
J. Nick Koston
ef2f16713a
Widen the post-compile idedata guard to every failure the comment promises
2026-08-20 19:02:35 -05:00
J. Nick Koston
06fc234b12
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 18:40:46 -05:00
J. Nick Koston
12f8b14418
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 18:40:46 -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
c3e7d37d29
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 18:18:07 -05:00
J. Nick Koston
77fa411f04
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 18:18:07 -05:00
J. Nick Koston
bc6b997350
Restore the lazy shlex import, pin the probe convention, assert the shim diagnostics
2026-08-20 18:17:56 -05:00
J. Nick Koston
9f3df90dba
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 17:52:58 -05:00
J. Nick Koston
e20c43520b
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 17:52:57 -05:00
J. Nick Koston
9b12934307
Reject a launcher compile DB by name before the probe, discard partial script captures, log dropped env keys
2026-08-20 17:52:54 -05:00
J. Nick Koston
46baef5231
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 17:29:59 -05:00
J. Nick Koston
f93d46e684
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 17:29:59 -05:00
J. Nick Koston
d33a097152
Name every skipped size line, best-effort script compile, unusable idedata returns None
2026-08-20 17:29:47 -05:00
J. Nick Koston
70a3880c9f
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 17:12:31 -05:00
J. Nick Koston
8008eda57f
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 17:12:31 -05:00
J. Nick Koston
466f890e1f
Clean errors for non-string flags, visible size-summary skips, partial extra-script capture
2026-08-20 17:12:19 -05:00
J. Nick Koston
fd47d5bcd2
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:54:39 -05:00
J. Nick Koston
57b7f03e42
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 16:54:39 -05:00
J. Nick Koston
4ab2a7ba98
Join flag args per entry like ParseFlags, pin the launcher strip log, record the asm merge decision
2026-08-20 16:54:28 -05:00
J. Nick Koston
20f0e37f43
Cover the unresolved-toolchain ordering guard
2026-08-20 16:51:29 -05:00
J. Nick Koston
a50c4db187
Type the toolchain factories, guard the legacy libretiny stub, tighten the gate comments
2026-08-20 16:46:48 -05:00
J. Nick Koston
aea97d1022
Cover the arduino toolchain predicate
2026-08-20 16:34:21 -05:00
J. Nick Koston
65f5c302c5
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 16:30:26 -05:00
J. Nick Koston
519ea38d73
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:30:26 -05:00
J. Nick Koston
a0f0ad8729
Restore the underscore in test_parse_library_json
2026-08-20 16:30:13 -05:00
J. Nick Koston
51af18cdfb
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 16:25:48 -05:00
J. Nick Koston
0fad14be59
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:25:48 -05:00
J. Nick Koston
57a9c71da8
Cover the malformed build.flags rejection
2026-08-20 16:25:47 -05:00
J. Nick Koston
3d8a3c6527
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 16:24:32 -05:00
J. Nick Koston
53f1cc116a
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:24:32 -05:00
J. Nick Koston
1483b7c10b
Detect launchers by a closed denylist instead of guessing compiler names
2026-08-20 16:24:21 -05:00
J. Nick Koston
360c51329c
Cover the native-toolchain predicate
2026-08-20 16:20:37 -05:00
J. Nick Koston
37de984df5
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 16:13:20 -05:00
J. Nick Koston
2cf4087e2f
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:13:20 -05:00
J. Nick Koston
7fe0847e5c
Update espidf test to the public parse_library_json name
2026-08-20 16:13:19 -05:00
J. Nick Koston
80815f1dc7
Make parse_library_json public alongside its properties sibling
2026-08-20 16:12:52 -05:00
J. Nick Koston
3166136db0
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:02:03 -05:00
J. Nick Koston
8f5f349e1b
Pin the decoy anchor, guard unselected segments, fingerprint the module source
2026-08-20 16:01:06 -05:00
J. Nick Koston
83b4da1777
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 15:59:10 -05:00
J. Nick Koston
12c1b15578
Reject malformed build.flags by name and pin the idedata cache-hit path
2026-08-20 15:59:03 -05:00
J. Nick Koston
b3d5fccba5
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 15:55:01 -05:00
J. Nick Koston
6a84d67786
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 15:55:01 -05:00
J. Nick Koston
6ad3e0d8ad
Add toolchain validator factories and a native-toolchain predicate
2026-08-20 15:44:23 -05:00
J. Nick Koston
7a3f700206
Act on bad-compiler detection, atomic logged idedata cache, memoized entry parsing, callable board_mcu
2026-08-20 15:41:39 -05:00
J. Nick Koston
9d9953ea47
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 15:26:39 -05:00
J. Nick Koston
7d9c18a330
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 15:26:38 -05:00
J. Nick Koston
5a4337c240
Share the size line format, derive source extensions from a kind map, close_fds on the ccache probe
2026-08-20 15:21:31 -05:00
J. Nick Koston
2861cbb749
Harden the shared toolchain check and pin every platform family's rejection
2026-08-20 14:41:23 -05:00
J. Nick Koston
8bf699cf79
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 14:39:21 -05:00
J. Nick Koston
375cf95240
Anchor the segment regex, reject unknown segments, and pin real-script fixtures
2026-08-20 14:38:25 -05:00
J. Nick Koston
1307cc25c5
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 14:14:44 -05:00
J. Nick Koston
18e3eac419
Export a surgery fingerprint for linker-script cache stamps
2026-08-20 14:14:32 -05:00
J. Nick Koston
bbf2788684
Share one unsupported-toolchain check across platforms
2026-08-20 13:58:46 -05:00
J. Nick Koston
c7e1d044a3
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 13:57:53 -05:00
J. Nick Koston
0620ce81c3
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 13:57:51 -05:00
J. Nick Koston
2564ad0deb
Warn once per non-compiler path, accept versioned compiler names, and pin the trigger table
2026-08-20 13:57:30 -05:00
J. Nick Koston
3d7c0eac57
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 13:44:29 -05:00
J. Nick Koston
e3936f500f
Patch exactly the named segments and share the segment-line pattern
2026-08-20 13:44:12 -05:00
J. Nick Koston
cea86989c9
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 13:42:37 -05:00
J. Nick Koston
e82453e80e
Complete the unit-test package chain so test modules import fully qualified
2026-08-20 13:42:15 -05:00
J. Nick Koston
3eec5085da
Give the format_bar tests a unique basename
2026-08-20 13:39:46 -05:00
J. Nick Koston
57c8648210
Drop the test package init that collides with script/build_helpers.py on the CI path
2026-08-20 13:38:54 -05:00
J. Nick Koston
1d0a1d2b38
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-toolchain-plumbing
2026-08-20 13:35:42 -05:00
J. Nick Koston
46fa42fa33
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 13:35:42 -05:00
J. Nick Koston
9bd548ba92
Move the extraScript machinery into the platformio package and tidy the extraction
2026-08-20 13:35:07 -05:00
J. Nick Koston
04ad9524f5
Add the arduino toolchain enum and validate --toolchain on every platform
2026-08-20 12:56:34 -05:00
J. Nick Koston
72da2b1ce2
Add the ESP8266 linker-script surgery and board build metadata
2026-08-20 12:53:50 -05:00
J. Nick Koston
ab58f1080a
Cover the tidy-project idedata assembly and hoist its helper import
2026-08-20 12:50:56 -05:00
J. Nick Koston
47942fb166
Note the upstream spelling in the format_bar citation
2026-08-20 12:47:54 -05:00
J. Nick Koston
f326c3f04d
Move the shared helpers into a neutral build_helpers package
2026-08-20 12:43:34 -05:00
J. Nick Koston
3b51ec2ae7
Extract the shared native-build helpers from the ESP-IDF backend
2026-08-20 12:36:42 -05:00
J. Nick Koston and GitHub
28384673f6
Merge branch 'dev' into espidf_parallel_tool_prefetch
2026-08-19 16:32:48 -05:00
J. Nick Koston
b361342bde
Do not end a progress bar that never drew a frame
2026-08-19 15:13:04 -05:00
J. Nick Koston and GitHub
d34eed6d2d
Merge branch 'dev' into espidf_parallel_tool_prefetch
2026-08-19 14:41:44 -05:00
J. Nick Koston
12238eec3b
Log prefetch failures after the bar, assert on the shared progress instance
2026-08-19 13:57:15 -05:00
J. Nick Koston
fe53ff6b6b
Finish the batch bar, cancel queued archives on Ctrl-C, report known sizes
2026-08-19 13:28:42 -05:00
J. Nick Koston
d0f38d7644
[espidf] Download tool archives in parallel during the install prefetch
2026-08-19 12:03:39 -05:00