Commit Graph

1151 Commits

Author SHA1 Message Date
gaoxu 25731d0c1e feat(esp32h21): finnal introduce hello world support 2024-12-30 20:14:40 +08:00
Frantisek Hrbata 949f6cb9f7 feat(tools): add idf.py diag reporting tool
The initial implementation of a diagnostic tool that collects valuable
information about esp-idf and failed build to assist in investigating
reported issues.

The gathered information includes environmental variables, details about
the python virtual environment, installed tools, platform information,
project_description.json, sdkconfig, build logs, map file, linker
scripts, and others.

usage:

1) create the default report

   # allow diag to create the report directory name
   $ idf.py diag
   # explicitly specify the report directory
   $ idf.py diag --output <report directory>

2) examine the contents of the generated <report directory> for
   sensitive information and add additional content to the
   <report directory>

3) create report archive zip file that can be shared or attached to
   the reported issue

   $ idf.py diag --zip <report directory>

The tool collects information as described in what are known as recipe
files. A recipe file is a YAML file, similar to an Ansible playbook or a
GitHub action, but much more simplified. Each recipe outlines how to
gather a set of related information. For instance, the manager.yml
recipe gathers data related to the component manager. Each recipe
includes metadata such as its description, tags, and steps. Tags are
used to determine which recipes to use; by default, all built-in recipes
located in tools/idf_py_actions/diag/recipes are used. Steps consist of
a list of commands to be executed. Currently, there are four commands:
file, exec, env, and glob. For more detailed information about recipes,
their format, and commands, please refer to
tools/idf_py_actions/diag/recipes/README.md.

Recipe example for component manager:

description: IDF Component Manager information
tags: [manager, base, project]
output: manager
steps:
  - name: 'IDF Component Manager'
    cmds:
      - exec:
        cmd: 'python -m idf_component_manager version'
        output: manager.ver
      - file:
        path: '${PROJECT_DIR}/dependencies.lock'
      - glob:
        # Gather all idf_component.yml files from the project directory and
        # save them in directories relative to the project directory within
        # the idf_component directory.
        pattern: 'idf_component.yml'
        recursive: true
        relative: true
        path: '${PROJECT_DIR}'
        output: 'idf_component/'

Create report for manager

1) all recipes with manager tag

   $ idf.py diag --tag manager

2) use only the manager recipe explicitly; built-in recipes can be
   referenced simply by their name, but all recipes can be referenced
   by their path

   $ idf.py diag --recipe manager
   or
   $ idf.py diag --recipe <full path>

To display available recipes, use

   $ idf.py diag --list

and to verify recipes, use

   $ idf.py diag --check

Both --list and --check honers the --tag and --recipe options.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-12-27 12:08:59 +01:00
gaoxu 3e30d2e928 feat(esp32h21): ci enable public header check (stage7) 2024-12-24 16:44:08 +08:00
Roland Dobai 757d74abae Merge branch 'fix/failing_create_readonly_test_on_win' into 'master'
fix(tools): fixed failing Win CI (tests read_only, cli)

Closes IDF-11782

See merge request espressif/esp-idf!35549
2024-12-19 21:41:50 +08:00
Marius Vikhammer 0140c6fb78 feat(docs): Replace PDF download link with HTML zip download link
PDF build would randomly fail after S3 docs grew to a certain size.

At 3k+ pages PDF is not very usable anyways.
For offline use an HTML archive makes more sense.
2024-12-19 11:42:20 +08:00
Marius Vikhammer d75fdc74e8 ci(docs): revert d98e77a4a7 to simplify CI 2024-12-17 09:39:46 +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
Laukik Hase 420810ee77 feat(esp_tee): Support for ESP-TEE - tools directory 2024-12-02 12:20:05 +05:30
Alexey Lapshin 2a6e08431b Merge branch 'feature/move-gdb-options-to_project_description_json' into 'master'
feat(debugging): move gdbinit generation to CMake

Closes IDF-11489

See merge request espressif/esp-idf!34779
2024-11-20 14:30:40 +08:00
Alexey Gerenkov a4d515b1c4 Merge branch 'ci/clang_qemu_tests' into 'master'
change(ci): Add qemu host tests builds with Clang

See merge request espressif/esp-idf!33630
2024-11-20 01:43:38 +08:00
Alexey Gerenkov 941a7ee17f change(ci): Add qemu host tests for esp32c3 builds with Clang 2024-11-19 17:33:51 +03:00
Alexey Lapshin 48a49c8154 feat(debugging): move gdbinit generation to CMake
This feature is useful for 3rd-party software to run GDB with predefined
options that described in project_description.json file

allow to pass custom options to "idf.py gdb":

  --gdb-commands: command line arguments for gdb. (without changes)
  -ex: pass command to gdb.
  -x: pass gdbinit file to gdb. Alias for old --gdbinit command
2024-11-19 16:41:38 +07:00
Aleksei Apaseev 0045550de5 ci: optimize git diff handling to address "Argument list too long" error 2024-11-18 17:08:28 +08:00
Frantisek Hrbata a4acbd2758 feat: Drop Python 3.8 support
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-12 17:02:26 +08:00
Fu Hanxi d03ead4cf8 Merge branch 'ci/improve_overall_logging' into 'master'
ci: target-test job skip installing toolchain, only install python env

See merge request espressif/esp-idf!34232
2024-11-08 23:27:04 +08:00
Fu Hanxi 2a5743c0c5 ci: target-test job skip installing toolchain, only install python env
also run with collapsed time section to better track run time
2024-11-08 11:17:57 +01:00
Fu Hanxi 83306b79ef ci: ignore test-specific 3rd-party libs while building clang projects 2024-11-08 11:15:17 +01:00
Fu Hanxi f84f883ab4 ci: change logging level from debug to info for build jobs 2024-11-08 11:13:43 +01:00
Peter Macko 4fa6e03879 fix(macos): ccache: re-enable, show stats, set CCACHE_DIR, limit CCACHE_MAXSIZE 2024-11-07 22:22:28 +08:00
Fu Hanxi a4ef854a2d ci: use different base commit for merge result pipelines 2024-10-31 12:37:01 +01:00
Ivan Grokhotkov 52496491f8 change(ci): update LATEST_GIT_TAG to v5.5-dev 2024-10-28 10:34:21 +01:00
Ivan Grokhotkov d998d76627 change(version): Update version to v5.5-dev 2024-10-28 10:17:21 +01:00
Fu Hanxi 647c9bcc53 ci: temp disable sonarqube check. keep it for migrating to codechecker 2024-10-22 13:29:29 +02:00
Chen Yudong e88e8f9450 ci: fix clone test env config repo 2024-10-21 15:44:59 +08:00
Kapil Gupta bac76f0491 ci(docs): Add wifi code owners for wifi docs 2024-10-19 15:45:27 +08:00
Fu Hanxi bd26feef9b ci: ignore collect import error 2024-10-16 10:14:30 +02:00
Sarvesh Bodakhe 8b4ebea872 ci: Add md5 checksum validation for COEX public header files for new chips
Add MD5 checksum validation for public header files of the following new chips:
esp32c5 and esp32c61.
2024-10-09 23:11:09 +08:00
Sarvesh Bodakhe 5cab997c15 ci: Add md5 checksum validation for WiFi public header files for new chips
Add MD5 checksum validation for public header files of the following new chips:
esp32c5, esp32c6, and esp32_host.
2024-10-09 23:11:09 +08:00
Mahavir Jain 27bcb047b4 Merge branch 'feature/qemu_doc_guide_updates' into 'master'
docs: misc updates to qemu guide, now enabled for ESP32-S3

See merge request espressif/esp-idf!33854
2024-10-08 12:45:23 +08:00
radek.tandler 6a23790608 remove(nvs_flash/test_nvs_host): Old make based host tests removed after complete migration 2024-10-01 15:25:27 +02:00
Mahavir Jain a3810dcd5a ci: add codeowners entry for docs_not_updated directory 2024-09-27 13:36:28 +05:30
Fu Hanxi 56f8b7158c ci: support diff manifest sha with the base commit 2024-09-26 15:22:56 +02:00
Fu Hanxi 44c0faed43 ci: add manual job to make sure soc caps are parsed seamlessly 2024-09-23 09:46:36 +08:00
Alexey Gerenkov 9ca231e76e change(build): Use integrated assembler with Clang for RISCV chips 2024-09-18 21:40:39 +03:00
Tomas Borcin 4e4fb3a57b Merge branch 'docs/roadmap' into 'master'
docs: Adding ESP-IDF Project Roadmap

Closes RDT-668

See merge request espressif/esp-idf!31339
2024-09-16 19:02:31 +08:00
Fu Hanxi 1fa6d49f6f ci: remove idf-env.json before install.sh for macos jobs 2024-09-12 20:18:46 +08:00
Fu Hanxi dca0465095 feat: split pytest requirements to base and test-specific 2024-09-12 20:18:46 +08:00
Tomas Borcin 83393cdec8 docs: Adding ESP-IDF Project Roadmap 2024-09-12 12:51:22 +02:00
Marek Fiala 88527faff8 feat(tools): Added Windows shells support + refactoring 2024-09-05 10:13:04 +02:00
Adam Múdry 98cf50d140 Merge branch 'fix/nvs_tool_false_duplicate_warning' into 'master'
fix(nvs): nvs_tool.py refactor, reduce false duplicate warnings, add a test

Closes IDF-10684

See merge request espressif/esp-idf!32449
2024-09-04 11:05:44 +08:00
wanckl 4e095f4b9f ci(esp32c61): enable c61 generic target test 2024-09-02 19:26:12 +08:00
Adam Múdry 05b356f87f feat(nvs): Test nvs_partition_gen.py and nvs_check.py with pytest
Little fixes in nvs_check.py
2024-08-30 16:21:42 +02:00
Fu Hanxi 350f1410d3 ci: checkout back to merged result commit again to get the latest files 2024-08-27 14:39:10 +02:00
Mahavir Jain c338fec13c feat(esp_security): add component ownership entry 2024-08-20 12:35:22 +08:00
Ivan Grokhotkov 5ef75d5073 Merge branch 'bugfix/reproducible_builds_improvements' into 'master'
build system: reproducible build improvements

Closes IDFGH-12690

See merge request espressif/esp-idf!32734
2024-08-16 19:02:40 +08:00
Aleksei Apaseev ae4687e43e ci: add redundant job to ensure 'retry_failed_jobs' job is not skipped 2024-08-15 16:01:23 +08:00
Ivan Grokhotkov fc4c445643 test(build_system): move reproducible build test to pytest 2024-08-11 20:24:03 +02:00
Aleksei Apaseev a6b84b5ccc feat(ci): add retry job functionality to dynamic pipeline report
Introduced changes:

- add a manual ci job to retry failed jobs.
- refactor js scripts in report template
- extract the CI ENV vars related to the report generation script to the predefined constants.py module
- introduce a new action "retry_failed_jobs" in helper script "gitlab_api.py"
2024-08-09 19:05:53 +08:00
Igor Udot b40ac839cc Merge branch 'ci/test_correct_exit_code' into 'master'
Add support for Dynamic Pipeline Configuration

Closes IDFCI-2035 and IDFCI-1936

See merge request espressif/esp-idf!29115
2024-08-07 11:04:07 +08:00
igor.udot e669c7ab5b ci: fast_pipeline yml branch 2024-08-05 16:07:36 +08:00