Commit Graph
3873 Commits
Author SHA1 Message Date
J. Nick Koston b805d73c07 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 13:17:26 -05:00
J. Nick Koston f03c8265ec Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 13:17:24 -05:00
J. Nick Koston 9013a6e6ad Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 13:17:22 -05:00
J. Nick Koston 4c8fdbb65b Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 13:17:20 -05:00
J. Nick Koston 7eb6de0c32 Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 13:17:18 -05:00
J. Nick Koston f0be047453 Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 13:17:16 -05:00
J. Nick Koston 2da0319eaa Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 13:17:14 -05:00
J. Nick Koston c376d32db4 Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 13:17:12 -05:00
J. Nick Koston 59fc108aa7 Cover the prefetch blanket guard 2026-08-23 13:17:08 -05:00
J. Nick Koston fd61eda4a2 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 13:10:39 -05:00
J. Nick Koston 8d45edbb3e Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 13:10:39 -05:00
J. Nick Koston 2d44dacbed Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
# Conflicts:
#	esphome/platformio/library.py
2026-08-23 13:10:36 -05:00
J. Nick Koston dc00335707 Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 13:09:54 -05:00
J. Nick Koston 485725d734 Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 13:09:54 -05:00
J. Nick Koston 0b598d18dc Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 13:09:53 -05:00
J. Nick Koston a272ca9e17 Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 13:09:53 -05:00
J. Nick Koston e40537cc34 Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 13:09:53 -05:00
J. Nick Koston 9d761102e5 Size the prefetch from the registry, fold the batch API, guard the prefetch
The registry response already carries each package file's size, so the
combined bar is sized from URLSource instead of a HEAD sweep; the probe,
its all-or-nothing fallback, and its duplicate Content-Length parsing are
gone, and archives without a reported size simply stay on the sequential
path. run_batch_downloads now takes (name, size, fetch) jobs and builds
the (now private) progress bar itself, collecting failures from future
results instead of a shared list; both call sites use functools.partial
instead of lambda factories. The prefetch touches only URLSource, so the
progress parameter comes off Source/Git/Local/ConvertedLibrary, and the
wave prefetch is wrapped best-effort like its ESP-IDF twin, which also
dedupes by dest only after the verifiability check. ProgressBar.done()
itself now skips the newline when no frame was drawn or the 100% frame
already ended the line, collapsing the batch wrapper's guard and fixing
the stray blank line after OTA uploads.
2026-08-23 13:08:32 -05:00
J. Nick Koston 9f6d66a2e7 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission
# Conflicts:
#	esphome/build_gen/arduino8266.py
#	tests/unit_tests/build_gen/test_arduino8266.py
2026-08-23 12:18:51 -05:00
J. Nick Koston eb982e07a7 Veto the ld-script cache stamp when the warn note is lost, widen the linker denylist
A failed stderr-sidecar write no longer stamps the cache: the next build
re-runs -E and re-derives the preprocessor diagnostic honestly instead
of losing it for the life of the build dir. The sidecar unlink joins the
best-effort contract. The plain-linker denylist gains the
-nodefaultlibs/-nostdlib/-rdynamic family and the -fuse-ld=/--specs=
prefixes, with a comment naming it best-effort rather than complete.
The damaged-file helper test now lives only in test_helpers.py beside
the OSError-branch coverage.
2026-08-23 12:17:43 -05:00
J. Nick Koston 10d82b129a Rely on the lex funnel's empty-argument drop
The funnel now warns and drops empty glued arguments itself, so the
raise here had nothing left to catch.
2026-08-23 12:15:52 -05:00
J. Nick Koston 49bdd061b8 Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 12:15:20 -05:00
J. Nick Koston 88cc355293 Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 12:15:19 -05:00
J. Nick Koston 25b429de5d Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 12:15:19 -05:00
J. Nick Koston 65f116eaf8 Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 12:15:19 -05:00
J. Nick Koston 9bb4fedc98 Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 12:15:19 -05:00
J. Nick Koston f595a32434 Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 12:15:19 -05:00
J. Nick Koston 1959913347 Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 12:15:18 -05:00
J. Nick Koston 035555b24c Drop an empty glued flag argument at the lex funnel
shlex.split('-D ""') left a bare -D that gcc resolves by eating the
next flag; the funnel now warns and drops it for every consumer, which
also retires raise_on_empty_arg_flags, whose staged ESP8266 caller no
longer has anything to catch.
2026-08-23 12:15:04 -05:00
J. Nick Koston 15727692e0 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 12:05:19 -05:00
J. Nick Koston 244e275dfb Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 12:05:17 -05:00
J. Nick Koston d53356a2b0 Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 12:05:15 -05:00
J. Nick Koston 92ab6b7581 Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 12:05:13 -05:00
J. Nick Koston 187df36971 Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 12:05:11 -05:00
J. Nick Koston 353ce8a3a2 Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 12:05:09 -05:00
J. Nick Koston f8de6fe0d1 Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 12:05:07 -05:00
J. Nick Koston 5137c3f16b Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 12:05:05 -05:00
J. Nick Koston ea3ff0e372 Abort in-flight batch downloads on Ctrl-C, make the deferral test hermetic
cancel_futures only drops queued jobs, and the non-daemon workers are
joined at interpreter exit, so a Ctrl-C during the ESP-IDF toolchain
fetch waited out every in-flight archive. The tracker each job reports
through now checks a cancellation flag set when the wait raises, so
downloads abort at their next progress tick and the resumable .part
files keep the bytes already fetched.

The wave-deferral test stubs _content_lengths instead of issuing real
HEAD requests that passed only by failing, the dead hasattr branch in
the HEAD-probe test is gone, and the .C suffix comment names the SCons
divergence instead of claiming parity.
2026-08-23 12:04:49 -05:00
J. Nick Koston 23c1527cf0 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 11:37:08 -05:00
J. Nick Koston bcc1004b5d Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 11:37:06 -05:00
J. Nick Koston 3ea83b12f5 Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 11:37:04 -05:00
J. Nick Koston 6b35e082bf Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer 2026-08-23 11:37:02 -05:00
J. Nick Koston 8a10914d8d Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra 2026-08-23 11:37:00 -05:00
J. Nick Koston af195eb1fc Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing 2026-08-23 11:36:58 -05:00
J. Nick Koston 1157189b36 Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery 2026-08-23 11:36:56 -05:00
J. Nick Koston dd7a25b302 Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers 2026-08-23 11:36:54 -05:00
J. Nick Koston 7c0e03f309 Capture the Append variants, warn on unmodelled env reads, quote every lexed bucket
Prepend/AppendUnique/PrependUnique write the same captured keys and now
alias Append instead of no-op'ing away a link directory. env.get on an
unmodelled var warns once so a script taking the default branch is
diagnosable. LIBS/LINKFLAGS/CPPFLAGS entries are shlex-quoted like the
path buckets, since each is one argv token in SCons and re-lexing must
not split a spaced value. The HEAD probes follow the happy-eyeballs
convention, and the tool-prefetch backstop keeps its traceback at debug.
2026-08-23 11:36:36 -05:00
J. Nick Koston acc919e993 Merge branch 'esp8266-native-build-spec' into esp8266-native-ninja-emission 2026-08-23 10:48:54 -05:00
J. Nick Koston 610d630cd4 Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec 2026-08-23 10:48:54 -05:00
J. Nick Koston 34e2a82d8d Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend 2026-08-23 10:48:54 -05:00