Commit Graph
1230 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 03b1ef7dc3 ci: macos vm use dockerhub version 2026-07-15 13:58:56 +02:00
Fu Hanxi 2e271ea0c0 ci: use gitlab ci lint api instead of yaml parsing 2026-07-15 13:58:56 +02:00
Fu Hanxi 44687303cf ci: move dynamic pipeline related jobs to ci/actions/common 2026-07-15 13:56:55 +02: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 dbeab94760 ci: remove unused code 2026-07-15 13:54:06 +02:00
igor.udot c8c9b5940a ci: update check-version tags 2026-07-13 10:27:46 +08:00
Fu Hanxi d8f4d6ccda ci: remove build report and failed job report 2026-07-07 11:07:16 +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 26b24ee2fa Merge branch 'task/buildv2_full_pipeline' into 'master'
Enable full buildv2 pipeline

Closes IDF-14180

See merge request espressif/esp-idf!49668
2026-07-03 11:28:57 +02:00
Evgeny Torbin bf95b231e4 ci: check file existence before shuffling test apps 2026-07-01 16:50:04 +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
igor.udot 5d73bec7cb ci: moved auto_translate stage 2026-06-26 10:04:51 +08:00
Dai Zi Yan 811762c9f7 Merge branch 'feat/implement_auto_trans' into 'master'
feat: implement auto translation through MR label

Closes DOC-14299 and DOC-14835

See merge request espressif/esp-idf!48906
2026-06-25 01:57:15 +00: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 fa8039b5ca Merge branch 'test/vfs_fix_register_check' into 'master'
test(vfs): Test changes regarding VFS register incorrect check fix and fix VFS host test not being run at all

See merge request espressif/esp-idf!49674
2026-06-23 14:02:16 +02:00
Adam Múdry 670fb68bc7 test(vfs): Test changes regarding VFS register incorrect check fix 2026-06-22 14:48:13 +02:00
Jakub Kocka 2740359845 ci: Remove PowerShell pre-commit hook and check_powershell job 2026-06-22 13:22:57 +02:00
daiziyan 8272fa5d87 feat: implement auto translation through MR label 2026-06-22 15:24:27 +08:00
Martin Vychodil 2573bf3988 Merge branch 'feat/bdl_ioctl_checker' into 'master'
feat(esp_blockdev): add build-time ioctl command reservation overlap checker

Closes IDF-15799

See merge request espressif/esp-idf!49670
2026-06-19 12:40:28 +08:00
harshal.patil 6b417e9d47 fix(esp_common/esp_fault): make ESP_FAULT_ASSERT survive optimization
ESP_FAULT_ASSERT(C) was silently deleted by the optimizer when C is a cached
flag/status already proven by a preceding `if (!C) return/goto`: the compiler
folds C to a constant and drops all three checks, removing the fault-injection
protection with no warning.
2026-06-17 16:45:29 +05:30
Igor Udot dbb65e8712 Merge branch 'ci/generate-build-child-pipeline' into 'master'
ci: start generate_build_child_pipeline with pre_commit

See merge request espressif/esp-idf!49721
2026-06-16 20:24:09 +08:00
igor.udot 26c4f83080 ci: start generate_build_child_pipeline with pre_commit 2026-06-16 17:40:52 +08:00
Tomáš Rohlínek a9f545bcea feat(esp_blockdev): add build-time ioctl command reservation overlap checker 2026-06-16 11:38:22 +02:00
Chen Yudong d39ba32acb ci: update pre-commit to use new docker image 2026-06-16 12:51:24 +08:00
Jakub Kocka 9899280957 fix(ci): Tolerate w32time already running on Windows CI VMs
net start w32time returns exit 2 on warm snapshots; that aborted before_script
before pytest. Continue with NTP config and w32tm /resync as intended.
2026-06-04 14:45:05 +08:00
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 21d6f9b879 Merge branch 'ci/remove_esp-metrics_cache' into 'master'
ci: remove esp-metrics pip cache

See merge request espressif/esp-idf!49022
2026-06-01 11:14:45 +02:00
Igor Udot f72dbb87ec Merge branch 'ci/gcc-static-analyzer-cache' into 'master'
ci: enable cache for gcc_static_analyzer

See merge request espressif/esp-idf!49086
2026-06-01 16:06:03 +08:00
igor.udot ee65c61a3b ci: enable cache for gcc_static_analyzer 2026-06-01 15:17:13 +08:00
Chen Yudong feed036fe7 ci: remove esp-metrics pip cache 2026-05-29 09:56:13 +08:00
Guillaume Souchere d670774f5c feat(esp_common): implement composable error code registration via link-time arrays
Refactor the esp_err_to_name() system to decouple esp_common from
higher-level components. Instead of a monolithic generated table,
each component registers its error codes into a dedicated linker
section (.esp_err_msg_table) via idf_define_esp_err_codes() in its
CMakeLists.txt.

New files:
- tools/err_codes_extract.py: extract ESP_ERR_* defines from headers to CSV
- tools/err_codes_to_c.py: generate C source placing entries into linker section
- tools/err_codes_to_rst.py: generate RST documentation from error codes
- tools/cmake/err_codes.cmake: CMake module providing idf_define_esp_err_codes()
- components/esp_common/include/esp_err_codes.h: esp_err_msg_t typedef
- components/esp_common/src/esp_err_to_name_new.c: new lookup using link-time array
- tools/test_apps/build_system/err_codes_check/: CI test app

Changes:
- Remove all optional component dependencies from esp_common/CMakeLists.txt
- Add .esp_err_msg_table section to all 5 linker scripts
- Register error codes in 18 components via idf_define_esp_err_codes()
- Add new scripts to .gitlab/ci/rules.yml build_check patterns
- use new scripts to generate doc and add CI validation
- Update esp_err.rst to add description of composable code registration
2026-05-28 09:53:32 +02:00
Roland Dobai 5f44d4a401 Merge branch 'ci/esptool_internal_releases' into 'master'
CI: Use internal Esptool releases in the pipeline

See merge request espressif/esp-idf!48750
2026-05-25 15:44:36 +02:00
Ivan Grokhotkov 6589ba9bbb change(version): Update version to v6.2-dev
Start of v6.2 development.
2026-05-25 14:16:08 +02:00
Roland Dobai 02d6504653 ci(gitlab): Use internal Esptool releases in the pipeline 2026-05-22 17:45:32 +08:00
Evgeny Torbin 29455e38c2 ci: remove deprecated SHA update job 2026-05-18 15:58:10 +08:00
Roland Dobai 44772bf454 ci(gitlab): Force the update of esptool to the latest dev release 2026-05-15 11:33:19 +02:00
Chen Jichang 645ff40cde ci(esp32h4): enable ci target test 2026-05-11 16:48:58 +08: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
Fu Hanxi 30032ff4fb Merge branch 'ci/upload-junit-when-succeeded' into 'master'
ci: upload junit for build jobs

See merge request espressif/esp-idf!48129
2026-05-06 09:44:38 +02:00
Evgeny Torbin 9ebb8787db ci: use --break-system-packages option when installing jsonschema 2026-05-04 19:33:26 +08:00