Commit Graph
29 Commits
Author SHA1 Message Date
Jakub Kocka 2e5d930e6b fix(tools): Windows builds when paths contain spaces (prefix_map, ldgen, CI)
- Harden prefix_map.cmake for paths with spaces on Windows

- ldgen: fragments-list-file, list normalization, CMake integration (tools/cmake + cmakev2)

- CI exclude list for check_tools; test_spaces bundle tweak

Made-with: Cursor
2026-06-04 14:45:05 +08:00
Fu Hanxi a38c7e9242 ci: windows with VM 2026-04-27 12:41:53 +02: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
Jakub Kocka d860da47c0 ci(tools): Avoiding full rebuilds where not needed to improve performance 2026-03-16 08:53:41 +01:00
igor.udot f6e7ab370a ci: manual job to block pipeline start 2026-03-13 16:58:00 +08:00
Sudeep Mohanty 8e66b2408d ci(buildv2): run full test suite for buildv2 in host and Windows
Remove explicit test file list from pytest_buildv2_system so all tests
run by default. buildv2_skip marks handle exclusions.
2026-02-27 12:57:02 +01:00
Frantisek Hrbata 6e5d6b75ae feat(test_build_system): allow buildv2 specific tests
Currently, cmakev2 is being tested only in backward-compatible mode by
using the existing cmakev1 tests with the cmakev2 test application. We
also need to add tests specific to cmakev2, and it is convenient to
reuse the existing build system testing framework. Let's add a `buildv2`
subdirectory to the existing `tools/test_build_system` directory and use
the `pytest_collection_modifyitems` hook to ignore tests in this
directory unless the `--buildv2` option is used.

Without the `--buildv2` option, only the existing cmakev1 tests are
executed and tests in `buildv2` directory are skipped. With the
`--buildv2` option, the existing cmakev1 tests run with the cmakev2
testing application for backward compatibility testing, and all cmakev2
tests within the `buildv2` subdirectory are also executed.

Note: we cannot use the `pytest_ignore_collect` hook, because the
`--buildv2` option is not known to the pytest, so the
`config.getoption('--buildv2', False)` returns always False. We would
likely need to add the `--buildv2` option in the conftest.py in the
esp-idf root directory.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>

fix: lsadjf las jflasjfl aslfsald asl fsadlf sladsal jfsadfas

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-01-22 15:41:05 +01:00
Sudeep Mohanty f72292b0d7 test(cmakev2): Enable test_rebuild.py for buildv2 CI tests
The test_rebuild_no_changes test verifies that running idf.py build
successively without any file changes results in identical build
artifacts on the second run (i.e., nothing gets rebuilt).

This test was failing in buildv2 because it expected kconfig_menus.json
to be present in build/config/ after a normal build. However, in
cmakev2, kconfig_menus.json is not generated during regular builds.

In cmakev1, kconfig_menus.json was generated globally during every
build alongside other config files (sdkconfig.h, sdkconfig.cmake, etc).

In cmakev2, kconfig_menus.json generation does not happend for
normal builds because it depends on the Kconfig menu hierarchy
and cannot be generated globally. It must be generated per-executable.

Hence, this commit updates the artefacts list for cmakev2 to not expect
the kconfig_menus.json file during a build/re-build action.
2025-11-18 10:12:12 +05:30
Sudeep Mohanty bf8129433a test(cmakev2): Enabled test_idf_extensions.py for builv2 CI tests 2025-11-18 10:12:12 +05:30
Frantisek Hrbata e65fc5ee09 ci(cmakev2): run the buildv2 tests only if the buildv2 label is set
Currently, the buildv2 tests are initiated using the same patterns as
the tests for the current build system. This means that any change in
the current build system will also trigger the buildv2 tests. Initially,
it might be wise not to block the CI for changes in the current build
system in case there is an issue with buildv2. Therefore, let's
explicitly start the buildv2 tests only when the buildv2 label is set.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-10-30 17:17:49 +08:00
Sudeep Mohanty e50a9112ee feat(cmakev2): Enable buildv2 tests for windows on CI 2025-10-30 17:17:49 +08:00
Fu Hanxi 31431069d4 ci: fix windows test jobs download source 2025-10-03 12:47:01 +02:00
Roland Dobai 52f7cebcd3 ci: Support known failure cases in pytests on Windows runners 2025-09-29 15:38:43 +02:00
Roland Dobai 26ae9e8589 ci(gitlab): Split up Windows tests into (more) parallel jobs 2025-09-24 13:43:23 +02:00
Marek Fiala efa75a9b60 test(tools): Added minimal supported cmake versions build system tests 2025-09-22 16:47:42 +02:00
Marek Fiala 9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
Fu Hanxi 0d5b3e60ac ci: remove --enable-pytest from install.sh 2025-07-09 10:33:26 +02:00
Fu Hanxi 4d7372beab Revert "ci: replace ci_fetch_submodules.py with submodule cache"
This reverts commit 0af3e2b1b2.
2025-06-25 08:01:06 +02:00
Fu Hanxi 561f53cd24 Merge branch 'ci/remove-submodule-fetch-script' into 'master'
Ci/remove submodule fetch script

Closes IDFCI-2980

See merge request espressif/esp-idf!39992
2025-06-23 19:22:19 +02:00
Fu Hanxi 0af3e2b1b2 ci: replace ci_fetch_submodules.py with submodule cache 2025-06-23 11:39:42 +02:00
Marek Fiala 335ba6b3c2 test(tools): Added test for installing supported tool version
Added test_export_supported_version_cmake in `test_idf_tools.py`,
that installs and exports supported version of tool - cmake.
2025-06-18 19:33:54 +08:00
Marek Fiala 94994f7ad3 fix(test): Temporarily disable test_cli_installer_win 2025-05-27 11:13:04 +02:00
Marek Fiala a3318d6280 fix(test): Temporarily allow test_cli_installer_win to fail 2025-05-21 16:12:35 +08:00
Marek Fiala 5930a422d7 fix(tools): Fixed timeout and path bug for test_cli_installer_win 2024-12-16 14:55:16 +01:00
Roland Dobai 6f6706cb8e ci(tools): Fix IDF_MIRROR_PREFIX_MAP for including all tools from local 2024-04-26 15:17:39 +02:00
Fu Hanxi b70d65444a ci: always set expire_in and when with artifacts
set it under `default` does not work due to gitlab bugs.
will use `default` back once the bugs are resolved.
2024-02-16 13:43:53 +01:00
Marek Fiala 65db8bf7a9 refactor(tools): Split build pytest into multiple jobs 2024-02-08 13:49:28 +01:00
Marek Fiala 375c22ecdb feat(tools): Update Windows runners tags 2024-02-02 15:04:40 +01:00
Marek Fiala a97e355e74 feat(tools): Run Tools related host tests on Win 2024-02-02 14:58:04 +01:00