David Woodhouse
87a125f303
Add test coverage for build_info.json change detection
...
Add tests to cover:
- Detection of config_hash changes in existing build_info.json
- Detection of esphome_version changes in existing build_info.json
- Handling of invalid/corrupted build_info.json files
These tests cover the exception handling and change detection logic
in copy_src_tree() that checks the existing build_info.json.
2025-12-15 16:45:15 +00:00
David Woodhouse
09e9b58eb6
Change build_time_str format to ISO 8601 with timezone
...
Use YYYY-MM-DD HH:MM:SS +ZZZZ format instead of the locale-dependent
'%b %d %Y, %H:%M:%S' format. This provides:
- Unambiguous date format (YYYY-MM-DD)
- Timezone information
- Locale-independent formatting
- Better sortability and parseability
Example: "2025-12-15 16:30:27 +0000" instead of "Dec 15 2025, 16:30:27"
Tests validate the format using strptime with '%Y-%m-%d %H:%M:%S %z'.
2025-12-15 16:38:44 +00:00
David Woodhouse
1ebfd5b4eb
Update test for new get_build_info behaviour
...
get_build_info() now always returns current time instead of preserving
the existing build_time. The timestamp preservation logic is now handled
in copy_src_tree() based on sources_changed flag.
2025-12-14 09:07:44 +09:00
David Woodhouse
841d9664d3
Fix build system to relink when source files change
...
- Make copy_file_if_changed() return bool indicating if file was copied
- Track sources_changed in copy_src_tree() to detect when source files change
- Only update build_info timestamp when sources/config/version change
- Exclude generated files (build_info_data.h) from sources_changed tracking
- Add build_info_data.h to ignore_targets to prevent copying from resources
- Track changes to generated headers (defines.h, esphome.h, version.h)
- Check for config_hash or version changes to trigger rebuild
- Pretty-print build_info.json with indentation and trailing newline
- Update mock_copy_file_if_changed to return True by default
This fixes the issue where changing a source file would recompile the .o
file but not relink the final program executable.
2025-12-14 08:51:59 +09:00
J. Nick Koston
0539c5d4d2
cover
2025-12-13 10:02:54 -06:00
J. Nick Koston
de500450d9
coverage for hash order change
2025-12-13 09:45:17 -06:00
J. Nick Koston
b4a54f2df1
sort so config hash does not change
2025-12-13 09:40:26 -06:00
J. Nick Koston
cf8708b888
writer coverage
2025-12-13 09:28:52 -06:00
J. Nick Koston
4b937b5228
some coverage
2025-12-13 09:21:53 -06:00
J. Nick Koston
efbdbc63d0
Merge remote-tracking branch 'upstream/dev' into integration
2025-12-10 01:36:11 +01:00
Javier Peletier and J. Nick Koston
9f2693ead5
[core] Packages refactor and conditional package inclusion (package refactor part 1) ( #11605 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2025-12-10 00:59:58 +01:00
J. Nick Koston
6b0128b683
Merge branch 'text_sensor_filters_no_alloc' into integration
2025-12-07 13:21:47 -06:00
J. Nick Koston
36036014cc
reduce
2025-12-06 23:30:15 -06:00
J. Nick Koston
02fcd83461
Merge branch 'text_sensor_filters_no_alloc' into integration
2025-12-06 22:55:54 -06:00
J. Nick Koston
f3a039e70f
cover
2025-12-06 22:55:28 -06:00
J. Nick Koston
d89aeca65a
Merge remote-tracking branch 'upstream/dev' into integration
2025-12-05 15:58:18 -06:00
Jesse Hills
7fd79fdded
[esp32] Change imports to use esp32 only, not .const ( #12243 )
2025-12-05 09:53:08 -05:00
J. Nick Koston
f819b740dd
Merge remote-tracking branch 'upstream/dev' into integration
2025-12-04 09:36:20 +00:00
Thomas Rupprecht and Jonathan Swoboda
22803ef54b
[esp32] Sort variants in situ ( #10410 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2025-12-03 20:48:11 -05:00
623cdac689
[tests] Add testing of command line substitutions ( #12210 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2025-12-03 12:36:35 -05:00
J. Nick Koston
29c260858f
Merge branch 'parition_callbacks' into integration
2025-12-02 22:42:13 -06:00
Javier Peletier and J. Nick Koston
ab60ae092d
[tests] Allow substitution tests to run independently for debugging ( #12224 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2025-12-02 16:17:24 -06:00
J. Nick Koston
101103c666
[core] Add RAM strings and symbols analysis to analyze-memory command ( #12161 )
2025-12-02 10:02:09 -06:00
29be1423f5
[core] Filter noisy platformio log messages ( #12218 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2025-12-02 08:59:50 -05:00
J. Nick Koston
a09481a352
Merge remote-tracking branch 'upstream/dev' into integration
2025-12-01 14:52:51 -06:00
2b7695ba3f
[core] Fix clean all windows ( #12217 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2025-12-01 12:40:56 -05:00
J. Nick Koston
dc1b2d7a4b
Merge branch 'ota_listeners' into integration
2025-11-28 14:14:31 -06:00
Javier Peletier and J. Nick Koston
d6ca01775e
[packages] Restore remote shorthand vars and !remove in early package contents validation ( #12158 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2025-11-28 18:24:09 +00:00
J. Nick Koston
6e0336c3cd
Merge remote-tracking branch 'upstream/dev' into integration
2025-11-28 12:22:19 -06:00
Javier Peletier
e15f3a08ae
[tests] Remote packages with substitutions ( #12145 )
2025-11-28 12:15:55 -06:00
J. Nick Koston
9489021ea5
Merge branch 'analyze_memory_include_ram' into integration
2025-11-28 09:58:31 -06:00
J. Nick Koston
cd11f31887
address bot review
2025-11-28 09:57:34 -06:00
J. Nick Koston
8d8ded74ae
Merge branch 'schedule_use_after_free' into integration
2025-11-26 16:40:56 -06:00
J. Nick Koston
b328758634
Revert "[core] Deduplicate identical stateless lambdas to reduce flash usage" ( #12117 )
2025-11-26 10:53:44 -06:00
J. Nick Koston
cbbdd634c1
Merge upstream/dev into integration
2025-11-25 21:21:03 -06:00
J. Nick Koston
bda17180df
[core] Deduplicate identical stateless lambdas to reduce flash usage ( #11918 )
2025-11-26 12:48:08 +13:00
J. Nick Koston
cf8c205644
[core] Reduce flash size by combining set_name() and set_object_id() calls ( #11941 )
2025-11-25 12:15:45 -06:00
J. Nick Koston
e2311d70e6
Merge branch 'libretiny_no_strlen' into integration
2025-11-24 12:09:26 -06:00
Jonathan Swoboda
8607a0881d
[core] Add support for passing yaml files to clean-all ( #12039 )
2025-11-24 10:10:24 -05:00
J. Nick Koston
d3d5e4c8f4
Merge branch 'ble_address_str' into integration
2025-11-23 20:17:40 -06:00
Javier Peletier
f42b806889
[core] Fix error on invalid id extend/remove ( #12064 )
2025-11-24 08:03:13 +11:00
J. Nick Koston
499ad18475
Merge branch 'dashboard_import_url_store_rodata' into integration
2025-11-17 09:13:30 -06:00
Javier Peletier
9e1f8d83f8
[config] Support !remove and !extend with LVGL-style configs ( #11534 )
2025-11-17 18:03:11 +11:00
J. Nick Koston
094ed59230
Merge branch 'de_dupe_lam' into integration
2025-11-16 12:47:44 -06:00
J. Nick Koston
a913e7df33
handles newlines, add test to prove it
2025-11-16 08:16:41 -06:00
J. Nick Koston
219206057f
Merge branch 'de_dupe_lam' into integration
2025-11-15 12:26:47 -06:00
J. Nick Koston
f6378990cd
add tests for crazy edge cases
2025-11-15 12:19:06 -06:00
J. Nick Koston
25c7be3970
Merge branch 'de_dupe_lam' into integration
2025-11-15 12:06:57 -06:00
J. Nick Koston
e9ff4d3c4e
handle static
2025-11-15 11:47:35 -06:00
J. Nick Koston
107a0a23b1
Merge branch 'de_dupe_lam' into integration
2025-11-15 10:43:08 -06:00