Commit Graph
210 Commits
Author SHA1 Message Date
Fu Hanxi c560de5566 ci: fix double quotes with MR_MODIFIED_FILES 2026-08-05 21:16:12 +02:00
Sudeep Mohanty 514f69c1f3 Merge branch 'fix/buildv2_fake_pass_pipeline' into 'master'
ci(buildv2): skip patching the fake_pass build child pipeline

Closes ITOPS-314 and IDF-16025

See merge request espressif/esp-idf!51259
2026-08-05 15:16:40 +02:00
Sudeep Mohanty 06963baf0b test(ulp): add custom linker host tests
Add build-only host tests for LP-core custom linker layouts supplied through the
LINKER option. Cover the positive paths (a full-replacement layout, a
multi-region layout with a fixed-address section, a run-from-HP-mem layout, and
memory protection) and the link-time and configure-time checks (reset-vector
placement, sizing, shared-memory overrun, the MEMPROT RX/RW boundary, a missing
reset vector, and a missing LINKER script).
2026-07-31 14:50:09 +02:00
Sudeep Mohanty e69d5bb697 ci(buildv2): skip patching the fake_pass build child pipeline
idf-ci emits a skip pipeline containing only a fake_pass job, with no
include of test_child_pipeline.yml, when the modified files match no
buildable apps. patch_buildv2_child_pipeline.py redefined
generate_pytest_child_pipeline unconditionally, assuming the included
template supplied its tags, image and assign_test stage via keyword
merge. With the template absent, the injected job was bare: no tags,
default test stage. It was scheduled on the wrong runner and failed,
turning the allow_failure build_child_pipeline_buildv2 bridge red on
every buildv2 MR whose changes produce an empty app matrix.

Return early when a fake_pass job is present so the child pipeline is
left untouched and skips, matching the default build path. Add a unit
test for the patch script and a host_test job to run it.
2026-07-28 10:47:57 +02:00
Ivan Grokhotkov d3766ffdea Merge branch 'feature/build-file-command' into 'master'
feat: add idf.py build-file command for standalone C files

Closes IDF-15453

See merge request espressif/esp-idf!47618
2026-07-22 10:34:38 +02:00
Ivan GrokhotkovandClaude Fable 5 16275df0a1 feat: add idf.py build-file command for standalone C files
Add a new idf.py extension that allows building standalone C files
without requiring full project boilerplate. Source files can include
optional YAML frontmatter in block comments to specify sdkconfig
options, component dependencies, and target configuration.

When the frontmatter configuration changes, the stale sdkconfig is
removed so the new defaults are applied, and a target change also
clears the build directory since IDF_TARGET is pinned in the CMake
cache.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 22:04:41 +02:00
Fu Hanxi b260448d30 Merge branch 'ci/common-scripts' into 'master'
Ci/common scripts

Closes RDT-933

See merge request espressif/esp-idf!50564
2026-07-20 14:18:36 +02:00
Marek FialaandCursor 8c08c75f48 feat(tools): adopt esp-pylib for idf.py logging and errors
Migrate idf.py and its actions to the shared esp-pylib library:
- add esp-pylib (and esp-pylib[ide]) to the core/ide requirements
- base FatalError on esp_pylib.errors.FatalError, keeping the idf.py ctx cleanup
- replace the local raw-ANSI helpers (red_print/yellow_print/print_warning/
  color_print) with esp_pylib.logger.log (warn/err/note/hint) across the
  idf.py actions
- install esp_pylib exception reporting at the idf.py entry point and silence
  the logger during shell completion
- update affected tests for the new prefixes/line wrapping
- add normalize_output() helper and unify terminal env in conftest to handle
  Rich line-wrapping in CI assertions

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 20:19:07 +08:00
Fu Hanxi 13c3d51631 ci: move before_scripts, after_scripts, windows macos rules to ci/actions/common 2026-07-15 13:56:19 +02:00
Fu Hanxi 148c5e26f7 ci: remove pip-cache
we have global pip mirror now
2026-07-07 11:06:03 +02:00
Sudeep Mohanty 2d3f8399ee ci(buildv2): add build/QEMU/Linux jobs for Build system v2
Add the parallel set of CI jobs that exercise the cmakev2 path end-to-end
via the IDF_BUILD_V2 shim. All jobs are gated on the `buildv2` MR label
with `allow_failure: true` so unrelated MRs do not pay for the extra
build matrix.

- `.gitlab/ci/build.yml`: add the buildv2 child build pipeline that
  re-runs the full app build matrix with IDF_BUILD_V2=y, plus the
  Windows buildv2 build job. The generator script injects IDF_BUILD_V2
  and a PIPELINE_COMMIT_SHA suffix into each child job and broadens
  target_test job filters so v1 and buildv2 artifacts upload to distinct
  s3 cache paths and each child pipeline tests its own binary.
- `.gitlab/ci/host-test.yml`: add the QEMU (esp32, esp32c3) and Linux
  pytest buildv2 jobs.
- `.idf_build_apps.toml`: parameterize build_dir with BUILDV2_DIR_SUFFIX
  (set to _v2 only on the buildv2 pipeline).
2026-07-01 13:17:25 +02:00
Marek Fiala 2dd6b604fa feat(tools): mcp-server accepts project_dir from chat
At the same time, it's possible to start idf.py mcp-server
outside ESP-IDF project directory.

Added ESP-IDF mcp server tests
2026-06-24 18:46:39 +08:00
Adam Múdry 670fb68bc7 test(vfs): Test changes regarding VFS register incorrect check fix 2026-06-22 14:48:13 +02:00
Tomáš Rohlínek a9f545bcea feat(esp_blockdev): add build-time ioctl command reservation overlap checker 2026-06-16 11:38:22 +02:00
Marius Vikhammer 64b1eeda3b Merge branch 'ci/deprecate_template_app' into 'master'
ci(build): remove esp-idf-template dependency, use in-tree test apps

See merge request espressif/esp-idf!47737
2026-05-07 16:48:10 +08:00
Jiang Jiang Jian c069dac41d Merge branch 'ci/update_build_docker' into 'master'
ci: optimize layer cache for docker build test

See merge request espressif/esp-idf!47831
2026-05-07 09:58:35 +08:00
Chen Yudong 43be5fb7d5 ci: optimize layer cache for docker build test
use different image tag for different concurrent job
2026-05-06 17:00:05 +08:00
Evgeny Torbin 9ebb8787db ci: use --break-system-packages option when installing jsonschema 2026-05-04 19:33:26 +08:00
Marius Vikhammer c06bf7de44 ci(build): removed and replaced template with regular test-apps 2026-04-29 15:21:30 +08:00
Fu Hanxi 036bb8ec77 ci: move linux test cli args alongside the test scripts 2026-03-27 09:19:21 +01:00
Fu Hanxi ddc7e0cdf7 ci: move qemu test cli args alongside test scripts
remove redundant host_test marker
2026-03-26 10:56:15 +01:00
igor.udot f6e7ab370a ci: manual job to block pipeline start 2026-03-13 16:58:00 +08: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
Ivan Grokhotkov (bot)andClaude Opus 4.6 20b9e06e92 ci: add API compatibility check job for merge requests
Add a check_api_compatibility CI job that uses esp-api-check to detect
breaking API changes in merge requests. The job compares API
declarations between the MR base and head commits using libclang, and
posts a discussion thread on the MR if WARNING or BREAKING changes are
found.

- Add CI job in host-test.yml with clang toolchain and allow_failure
- Add test_api_check project for CMake configuration with all
  components enabled
- Define __DOXYGEN__ and IDF_DOC_BUILD so the checker can see
  declarations behind these guards

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 17:12:40 +01: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 66c0a4d658 Merge branch 'fix/cmakev2_linux_target' into 'master'
fix(cmakev2): linux target fixes

Closes IDFGH-17121

See merge request espressif/esp-idf!45315
2026-02-09 14:09:36 +01:00
Fu Hanxi 1c9e7d209d ci: streamline custom before_script checkout code to preclone script 2026-02-05 09:26:56 +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
Roland Dobai 8bbcdb116d ci(gitlab): Improve tools host test dependencies 2026-01-02 09:20:58 +01:00
Alexey Lapshin 61a93a2737 fix(ci): fix check_public_headers.py to check system headers 2025-12-03 13:31:42 +07:00
C.S.M 904c94ba3a feat(esp32s31): Add esp_hw_support component and header ci support 2025-11-27 11:18:52 +08:00
Fu Hanxi accfcc96f4 ci: move host test unittest jobs to pytest 2025-11-20 09:07:22 +01:00
Fu Hanxi fa776a7d50 ci: move host test jobs into host-test.yml 2025-11-19 10:54:26 +01:00
Fu Hanxi 0922674c04 ci: run macos with tart runners 2025-11-18 17:02:11 +01:00
Euripedes Rocha Filho a87d3e1040 ci: Removes esp-mqtt host test
Test is failing and was moves to esp-mqtt already
2025-09-29 10:05:12 +02:00
Roland Dobai cb84b6860a ci: Support known failure cases in pytests of test_tools 2025-09-26 08:29:55 +02:00
Guillaume Souchere f8cb539e29 feat(heap): Update test to CMake and use Catch2 component 2025-09-18 10:07:08 +02:00
Guillaume Souchere 903d613a4e feat(esp_gdbstub): Update test to CMake and use Catch2 component 2025-09-18 10:07:08 +02:00
Marek Fiala 9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
Peter Dragun 519042a1e2 feat: Deprecate Python 3.9
BREAKING CHANGE:
- Minimal supported Python version is now 3.10.
2025-08-01 08:05:10 +02:00
Fu Hanxi 76181e5fce ci: skip app downloader for host test cases 2025-07-16 14:11:08 +02:00
Fu Hanxi 7ada32c39a ci: apply idf-ci for artifacts 2025-07-09 10:33:29 +02:00
Fu Hanxi a5257dcc39 ci: apply idf-ci pytest plugin
Removed

- target markers. Now must use target as parametrization in esp-idf
- host test markers. Now will be automatically added with linux target and qemu marker
2025-07-09 10:33:28 +02:00
Fu Hanxi f33469dd63 ci: apply idf-ci build run
removed script:

- tools/ci/dynamic_pipelines/scripts/child_pipeline_build_apps.py -> idf-ci build run
- tools/ci/ci_build_apps.py -> idf-build-apps build

moved from remove from idf_pytest/constants.py to .idf_build_apps.toml

- DEFAULT_FULL_BUILD_TEST_COMPONENTS
- DEFAULT_FULL_BUILD_TEST_FILEPATTERNS
- DEFAULT_IGNORE_WARNING_FILEPATH
- DEFAULT_BUILD_LOG_FILENAME
- DEFAULT_SIZE_JSON_FILENAME
2025-07-09 10:33:28 +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
Fu Hanxi 667ed2a266 ci: remove host_test runner tag, use more precise build, shiny instead 2025-06-19 15:34:07 +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
Peter Macko c205f50f93 feat(ci): Migrate macOS runners to Parallels VM 2025-06-10 18:08:05 +02:00