From 4b12e9a13281788d1855e39618aa6ab1be20ae32 Mon Sep 17 00:00:00 2001 From: Jan Beran Date: Thu, 11 Jun 2026 11:05:10 +0200 Subject: [PATCH] fix: update version of esp-idf-configdep in tools.json --- .../test_rebuild_configdep.py | 36 +++--------- tools/tools.json | 58 +++++++++---------- 2 files changed, 38 insertions(+), 56 deletions(-) diff --git a/tools/test_build_system/test_rebuild_configdep.py b/tools/test_build_system/test_rebuild_configdep.py index 72d401a5e9e..ef0ddef7eea 100644 --- a/tools/test_build_system/test_rebuild_configdep.py +++ b/tools/test_build_system/test_rebuild_configdep.py @@ -3,21 +3,11 @@ """Rebuild tests with esp-idf-configdep enabled (default idf.py behavior). esp-idf-configdep rewrites compiler .d files to depend on per-option -build/config/.../*.cdep stubs instead of sdkconfig.h. When a referenced -.cdep file does not exist yet, the wrapper creates it **after** the real -compiler has written the .obj. Those stubs then have a newer mtime than the -object. On the **next** Ninja run, those .cdep paths are prerequisites in the -merged dependency graph, so Ninja correctly treats the object as out of date and -rebuilds it—even though nothing in the source tree or sdkconfig changed. - -That one-time “settling” wave is not a CMake bug; it is an artifact of how -configdep materializes stubs relative to object timestamps. The tests in -test_rebuild.py therefore disable configdep to exercise pure CMake/Ninja -incremental behavior. Here we keep configdep **on** and run **two** full -idf.py build invocations before any mtime baseline so stub/object mtimes are -consistent; then we apply the same coarse-grained checks as the classic rebuild -tests (plus relaxed expectations where configdep legitimately skips compiling -TUs that do not reference changed CONFIG_* symbols). +build/config/.../*.cdep stubs instead of sdkconfig.h. The tests in +test_rebuild.py disable configdep to exercise pure CMake/Ninja incremental +behavior. Here we keep configdep **on** and apply the same coarse-grained +checks as the classic rebuild tests (plus relaxed expectations where configdep +legitimately skips compiling TUs that do not reference changed CONFIG_* symbols). """ import logging @@ -37,18 +27,10 @@ from test_build_system_helpers import rebuild_and_check from test_build_system_helpers import replace_in_file -def _settle_configdep_graph(idf_py: IdfPyFunc) -> None: - """Two full builds so ``.cdep`` stubs created by configdep are not newer than ``.obj`` for the next graph walk.""" - logging.info('settle (configdep): first full build') - idf_py('build') - logging.info('settle (configdep): second full build reconciles obj vs .cdep mtimes') - idf_py('build') - - @pytest.mark.usefixtures('test_app_copy') def test_rebuild_no_changes_with_configdep(idf_py: IdfPyFunc, request: pytest.FixtureRequest) -> None: - """No-op rebuild: with configdep on, baseline snapshot only after two settle builds (see module docstring).""" - _settle_configdep_graph(idf_py) + """No-op rebuild: second build after a clean first build must not change any artifacts.""" + idf_py('build') logging.info('baseline snapshot after settle') all_build_files = get_snapshot('build/**/*', exclude_patterns=BUILD_SNAPSHOT_EXCLUDE) @@ -66,9 +48,9 @@ def test_rebuild_no_changes_with_configdep(idf_py: IdfPyFunc, request: pytest.Fi @pytest.mark.usefixtures('test_app_copy') def test_rebuild_source_files_with_configdep(idf_py: IdfPyFunc) -> None: - """Same selective-rebuild checks as ``test_rebuild_source_files``, after configdep settle builds.""" + """Same selective-rebuild checks as ``test_rebuild_source_files``, with configdep on.""" idf_path = Path(os.environ['IDF_PATH']) - _settle_configdep_graph(idf_py) + idf_py('build') logging.info('updating a component source file rebuilds only that component') component_files_patterns = [ diff --git a/tools/tools.json b/tools/tools.json index 578d26b835c..85ab012a065 100644 --- a/tools/tools.json +++ b/tools/tools.json @@ -1155,7 +1155,7 @@ "description": "ESP-IDF configuration dependency tool", "export_paths": [ [ - "esp-idf-configdep-0.2.2", + "esp-idf-configdep-0.2.3", "bin" ] ], @@ -1175,51 +1175,51 @@ "versions": [ { "linux-amd64": { - "sha256": "999aa895c25d5c7edb6823884d3017f146b133f7ae2c580fffe4c989d7ce8c36", - "size": 28505, - "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-linux-x86_64.tar.gz" + "sha256": "c20fec39087019907efacd3721508b412a7aa47f94ea62400757b9820680dafe", + "size": 29642, + "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-linux-x86_64.tar.gz" }, "linux-arm64": { - "sha256": "0ea8f5e0de463ecfa3354a27b32ba34c4b999570e92127952fe7363f034ab7e9", - "size": 59608, - "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-linux-arm64.tar.gz" + "sha256": "5a1491b2009c9ed805b90e8efb27704ba96cc036b7aaca343310db846a9183a9", + "size": 60457, + "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-linux-arm64.tar.gz" }, "linux-armel": { - "sha256": "0e1663a6f9d8c030f11feb214aab0ffc3b9f6029ebc7ce10cad974db13667632", - "size": 36797, - "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-linux-armel.tar.gz" + "sha256": "c52f6cb0be77cb6561a62cf1dcf3d0855a8b063ea2279fe83aaca9b5896002c9", + "size": 38582, + "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-linux-armel.tar.gz" }, "linux-armhf": { - "sha256": "98759c0a16e56ec96cc72f2d6b60d2f548194cfcc2adde11cd65c694241912b6", - "size": 34310, - "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-linux-armhf.tar.gz" + "sha256": "eea71661562e72ca76be8fdc158678e5f0214dd733b02527d5f6adb49abdf1ca", + "size": 36012, + "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-linux-armhf.tar.gz" }, "linux-i686": { - "sha256": "e337582b1570ac90fcfde0b724e41d62b01581ec0a755c97ac38024c5def55ac", - "size": 32114, - "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-linux-x86.tar.gz" + "sha256": "ea1ac949cc6d77df3ac1fe24883c03c75c2f5cd5a0404baf70d0e1a48e95c0f8", + "size": 33699, + "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-linux-x86.tar.gz" }, "macos": { - "sha256": "8e7ad2fd91214219c276c6b371f0cd3e315f22055554d60856e88d84eb6422e9", - "size": 12755, - "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-macos-x86_64.tar.gz" + "sha256": "5bf96c4b5c6850dc8af22442c2a54cd143cca76403a5cf2a2152c6e5c006384e", + "size": 13262, + "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-macos-x86_64.tar.gz" }, "macos-arm64": { - "sha256": "458fa0e3193184ca6360bf35058c63e763545f0ef6cb0b659b01985a5dfafdbf", - "size": 13023, - "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-macos-arm64.tar.gz" + "sha256": "bd701ef6829e9eb31dca0e8e687209d9fa173489218c464f8c5da9491634b79c", + "size": 13431, + "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-macos-arm64.tar.gz" }, - "name": "0.2.2", + "name": "0.2.3", "status": "recommended", "win32": { - "sha256": "6bec5711daa5196df8ec3fa2d3c2c79623e7dc6cb5e0b6cede03ef49b71ac6ac", - "size": 114156, - "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-win-x86.zip" + "sha256": "c9c2b2110e2fd0dbe63bb7df0520607664b8a1d843c97304f5d1e7241bdb0c1c", + "size": 114736, + "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-win-x86.zip" }, "win64": { - "sha256": "1827c449c9294036f94fa82f5da65f10be1edbc2de6920ce9837cbee1393cac8", - "size": 117734, - "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-win-x86_64.zip" + "sha256": "993335dafa6af3aa55a058eaff439b0454612b9bec0ae7bada4fb3cb0a8d1f14", + "size": 118222, + "url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-win-x86_64.zip" } } ]