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 Grokhotkov
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 Fiala
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