Commit Graph

7512 Commits

Author SHA1 Message Date
Daniel Paul 914d32c101 Merge branch 'feat/move-cjson-to-root-dep' into 'master'
feat: support moving idf components to component registry

Closes PACMAN-1102

See merge request espressif/esp-idf!39704
2026-03-25 18:10:42 +08:00
Roland Dobai 0459417fed Merge branch 'feat/add_merged_hints_to_build' into 'master'
Build & Config: Create a merged hints database in the build directory

Closes IDF-15480

See merge request espressif/esp-idf!46861
2026-03-25 07:47:41 +01:00
Frantisek Hrbata 927fc8d03a test(cmakev2): add test for build with IDF_COMPONENT_MANAGER=0
Verify that setting IDF_COMPONENT_MANAGER=0 skips the component manager
flow entirely and produces a successful build. The test also asserts that
no "Component manager round" messages appear in the output, confirming
the manager loop is not entered.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-03-23 16:02:36 +01:00
Frantisek Hrbata 3cbca31571 fix(cmakev2): skip component manager flow when IDF_COMPONENT_MANAGER=0
When the component manager is disabled via IDF_COMPONENT_MANAGER=0, the
cmakev2 build system still entered the full component manager flow
(__fetch_components_from_registry), which called
__download_managed_component(). That function returned early with
result=0 without creating the expected output file, violating the
post-condition in __download_component_level_managed_components() that
checks result==0 => file exists, causing a fatal error.

Instead of patching the low-level function to write an empty stub file,
this commit properly skips the entire component manager flow when the
manager is disabled:

- Move __init_component_manager() to idf.cmake global initialization
  sequence alongside other __init_*() calls, so IDF_COMPONENT_MANAGER
  build property is available early.

- Set __SDKCONFIG_ORIG to the real sdkconfig path in __init_kconfig()
  as its default value. Previously it was only set inside
  __create_sdkconfig_orig_copy() and had a defensive fallback in
  __create_base_kconfgen_command(). The default ensures __SDKCONFIG_ORIG
  is always valid regardless of whether the component manager runs.

- Guard __create_sdkconfig_orig_copy() with an IDF_COMPONENT_MANAGER
  check. The sdkconfig backup exists solely to preserve unknown Kconfig
  options from managed components during intermediate kconfgen rounds.
  When the manager is disabled, no managed components exist, so the
  backup is unnecessary.

- Guard __fetch_components_from_registry() call in project.cmake behind
  IDF_COMPONENT_MANAGER == 1. When disabled, only the manifest warning
  is issued. No download loop runs, no temp files are created, and no
  "Component manager round N..." messages are printed.

- Remove the now-redundant IDF_COMPONENT_MANAGER guard from
  __download_managed_component(), since it is only reachable when the
  manager is enabled.

Closes https://github.com/espressif/esp-idf/issues/18372

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-03-23 16:02:36 +01:00
Roland Dobai f46452d3ab feat(cmake): Create a merged hints database in the build directory 2026-03-23 09:24:45 +01:00
Sudeep Mohanty b0d75e86fe test(cmakev2): Remove old cmakev2/test directory, now replaced by buildv2 pytest suite
Made-with: Cursor
2026-03-18 09:27:51 +01:00
Sudeep Mohanty aa67c578fb test(cmakev2): Add pytest test for multi-binary build support
Made-with: Cursor
2026-03-18 09:27:51 +01:00
Sudeep Mohanty a1306a094c test(cmakev2): Add pytest tests for v1-to-v2 migration and utility APIs
Made-with: Cursor
2026-03-18 09:27:51 +01:00
Sudeep Mohanty d6b1fd56a4 test(cmakev2): Assert ELF output in Linux target build test
Made-with: Cursor
2026-03-18 09:27:51 +01:00
Sudeep Mohanty f00d5db927 test(cmakev2): Expand pytest tests for v2 Kconfig and sdkconfig behavior
Made-with: Cursor
2026-03-18 09:27:51 +01:00
Sudeep Mohanty 3f477b9d80 test(cmakev2): Add pytest tests for v2 component model
Made-with: Cursor
2026-03-18 09:27:51 +01:00
Sudeep Mohanty c2cba58409 test(cmakev2): Add pytest tests for build APIs
Made-with: Cursor
2026-03-18 09:25:12 +01:00
Fu Hanxi 135a9fc69f Merge branch 'ci/fix-exclude-dir-check-build-test-rules' into 'master'
ci: fix check-build-test-rules exclude-dir

See merge request espressif/esp-idf!46722
2026-03-18 08:51:43 +01:00
Sudeep Mohanty 4d15351959 Merge branch 'test/buildv2_pytest_project' into 'master'
test(cmakev2): Add pytest tests for project APIs

See merge request espressif/esp-idf!46286
2026-03-18 07:50:54 +01:00
Fu Hanxi 9f7ec2626e ci: fix check-build-test-rules exclude-dir 2026-03-18 11:39:41 +08:00
Marius Vikhammer 4e000a41d5 docs(test_build_system): add supported targets table to kconfig_test_app README
The check-all-apps-readmes pre-commit hook detected that
kconfig_test_app/README.md was missing the supported targets table.
Added the full table including esp32h21, esp32h4, and esp32s31.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 10:40:13 +08:00
Fu Hanxi c360d8be98 feat: support moving idf components to component registry
and mark it as root dependency
2026-03-17 21:02:49 +08:00
Fu Hanxi a3281516c4 test: stop patching env vars by tearDownClass 2026-03-17 21:02:49 +08:00
Jakub Kocka 6fc4116876 Merge branch 'ci/windows_profiling' into 'master'
Profiling for Windows runners and enhancing the tests in the scope of time complexity

Closes IDF-14137

See merge request espressif/esp-idf!44163
2026-03-17 19:45:56 +08:00
Erhan Kurubas 33e90fb10a feat(tools): update openocd version to v0.12.0-esp32-20260304 2026-03-16 21:14:45 +08:00
Jakub Kocka 31b36e4428 fix(ci): Fixed Tools related CI tests 2026-03-16 12:55:57 +01:00
Sudeep Mohanty e53d8e9a74 test(cmakev2): Add pytest tests for project APIs 2026-03-16 10:57:26 +01:00
Jan Beran a2277f14df ci(tools): Move misspelled KConfig test to dedicated kconfig_test_app
Separate the misspelled KConfig.projbuild test case into its own test app
so it doesn't interfere with the general-purpose build_test_app. The test
now uses a pytest marker to select kconfig_test_app as the source.
2026-03-16 08:57:40 +01:00
Jakub Kocka 7551e82048 ci(tools): Changed the approach of some build tests to cmake reconfigure
Where actually building the app is not needed cmake reconfigure was introduced instead.
This should be performance upgrade especially for Windows runners, where build is quite slow
2026-03-16 08:57:40 +01:00
Roland Dobai 648818c9f3 Merge branch 'feat/mcp_server_with_eim' into 'master'
feat(tools): Fixed mcp-server functionality + EIM integration

Closes IDF-13051

See merge request espressif/esp-idf!45998
2026-03-16 08:57:17 +01:00
Jakub Kocka 82cc3b55b6 ci(tools): Updated approach of copying files to using git worktree 2026-03-16 08:53:47 +01:00
Jakub Kocka d860da47c0 ci(tools): Avoiding full rebuilds where not needed to improve performance 2026-03-16 08:53:41 +01:00
Marius Vikhammer 02c8a8b99d Merge branch 'ci/fix_non_running_core_tests' into 'master'
ci: restore runnable pytest configs

See merge request espressif/esp-idf!46536
2026-03-16 15:32:32 +08:00
Marius Vikhammer 25a2747dfd ci: restore runnable pytest configs
Use real CI config names and minimal config aliases so these tests are
collected and built again instead of silently being skipped.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Made-with: Cursor
2026-03-16 13:45:26 +08:00
Marek Fiala c07737ee17 feat(tools): mcp_ext.py commands adjustments 2026-03-16 13:27:54 +08:00
morris 35f6c201ad Merge branch 'ci/ast_grep_rule_soc_reg_h' into 'master'
feat(ci): add rule to prevent inclusion of <stdint.h> in soc *reg.h headers

See merge request espressif/esp-idf!46624
2026-03-16 12:39:57 +08:00
Alexey Lapshin 108dd9bdea Merge branch 'fix/cmake_flags_passing_to_external_project' into 'master'
fix(build): fix passing CMAKE_<LANG>_FLAGS from ExternalProject_Add

See merge request espressif/esp-idf!46541
2026-03-16 06:14:44 +04:00
morris 950c094e4e feat(ci): add rule to prevent inclusion of <stdint.h> in soc *reg.h headers 2026-03-16 00:02:41 +08:00
Frantisek Hrbata e494fb6284 Merge branch 'fix/cmakev2_ulp_fixes' into 'master'
fix(cmakev2): allow building ULP apps with cmakev2

Closes IDF-15435

See merge request espressif/esp-idf!46470
2026-03-13 11:39:57 +01:00
Alexey Lapshin 338cc50125 fix(build): fix passing CMAKE_<LANG>_FLAGS from ExternalProject_Add 2026-03-13 17:23:11 +08:00
Evgeny Torbin d0f062c018 ci: remove unused test cases 2026-03-12 12:02:10 +01:00
Sudeep Mohanty d51d96ed98 Merge branch 'test/buildv2_pytest_infra' into 'master'
test(cmakev2): Add placeholder hooks to buildv2_test_app

Closes IDF-13056

See merge request espressif/esp-idf!46284
2026-03-12 02:36:17 +01:00
Marek Fiala 45c2190fa7 Merge branch 'feat/add_ar_binaries' into 'master'
feat(tools): Added cmake and ninja arm binaries

Closes IDFGH-17282

See merge request espressif/esp-idf!46119
2026-03-12 03:57:46 +08:00
Sudeep Mohanty e7848fc243 test(cmakev2): Add placeholder hooks to buildv2_test_app
Made-with: Cursor
2026-03-11 13:52:16 +01:00
Tomas Rezucha 506dbc2985 Merge branch 'docs/usb-docs-link-esp-usb' into 'master'
docs(usb): Move USB docs to esp-usb and add redirects

Closes IDF-13559

See merge request espressif/esp-idf!45997
2026-03-11 11:41:52 +01:00
Frantisek Hrbata aad1f9845b fix(cmakev2/project): export build properties as variables for project_include.cmake
In cmake v1, __build_process_project_includes() exports all build
properties as CMake variables before including project_include.cmake
files. cmakev2 was missing this step, causing components like ULP that
reference build properties as CMake variables (e.g. ${SDKCONFIG_HEADER})
to receive empty values.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-03-11 15:44:30 +08:00
Frantisek Hrbata f17f80bfdd fix(cmakev2/kconfig): add public aliases for sdkconfig output properties
The cmakev2 kconfig module sets sdkconfig output paths using internal
property names (__SDKCONFIG_HEADER, __SDKCONFIG_CMAKE, etc.), but
components like ULP read the public names (SDKCONFIG_HEADER,
SDKCONFIG_CMAKE). This results in empty values being passed to the ULP
sub-project, causing its CMake configure step to fail.

Add public aliases matching the cmake v1 property names for backward
compatibility.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-03-11 15:44:30 +08:00
Tan Yan Quan de093fa343 Merge branch 'feat/phy_enable_iram' into 'master'
feat(phy): add CI case to ensure `esp_phy_enable()` is fully placed in IRAM for esp32h2

See merge request espressif/esp-idf!40280
2026-03-11 10:57:02 +08:00
Marek Fiala 91ba929695 feat(tools): Added cmake and ninja arm binaries
Closes https://github.com/espressif/esp-idf/issues/18272
2026-03-10 13:49:35 +01:00
Tan Yan Quan 91827686ac ci(phy): add test_phy case for esp32h2 2026-03-10 16:49:21 +08:00
Song Ruo Jing 600bf5b6d7 refactor(esp_hal_regi2c): move regi2c implementation from esp_rom to esp_hal_regi2c 2026-03-10 15:08:51 +08:00
Sudeep Mohanty f98df52a0f Merge branch 'feat/buildv2_comp_opt_requires' into 'master'
fix(cmakev2): Defer idf_component_optional_requires linking to library build time

See merge request espressif/esp-idf!46059
2026-03-09 12:12:12 +01:00
Roland Dobai c4b6609b00 Merge branch 'python_cert_macos' into 'master'
fix: Update idf_tools.py to print correct path to Install Certificates.command on macOS

Closes IDFGH-16695

See merge request espressif/esp-idf!46360
2026-03-09 10:18:48 +01:00
Ivan Grokhotkov cb4b3da877 Merge branch 'feature/add-api-compatibility-ci-job' into 'master'
ci: add API compatibility check job for merge requests

Closes IDF-8483

See merge request espressif/esp-idf!45963
2026-03-09 09:12:50 +01:00
Island 596827eafd Merge branch 'feat/use_common_config_to_sel_crypt_lib' into 'master'
Feat/use common config to sel crypt lib

See merge request espressif/esp-idf!45556
2026-03-09 14:16:31 +08:00