Commit Graph

2634 Commits

Author SHA1 Message Date
Chen Yudong
e983162ec8 ci: add qa-test-tag rules 2023-11-23 08:52:34 +00:00
Chen Yudong
a60cea61a3 ci: dynamic integration test child pipeline 2023-11-23 08:52:34 +00:00
Chen Yudong
4dd1f02c4f ci(fix): integration test download test bin 2023-10-24 17:00:46 +08:00
Roland Dobai
53172cf552 Merge branch 'autocomplete_fix_4.3' into 'release/v4.3'
Fix autocomplete test [4.3]

See merge request espressif/esp-idf!26237
2023-10-10 01:22:12 +08:00
Peter Dragun
bd3bec2ac3 fix: make sure requirements are installed before running autocomplete test
This reverts commit 4aa921a836.
2023-10-06 16:37:10 +02:00
wuzhenghui
744fc417a7 fix(esp_system): suppress compiler warning if ESP_SYSTEM_PANIC_SILENT_REBOOT is enabled 2023-09-28 02:53:51 +00:00
Peter Dragun
649abd203e fix(tools): fix autocomplete for --port option
Closes https://github.com/espressif/esp-idf/issues/7970
2023-09-08 09:31:08 +02:00
Roland Dobai
d7a2c25acc Merge branch 'version_check_fix_dev_4.3' into 'release/v4.3'
fix(tools): check_python_version accept dev releases as requirement (v4.3)

See merge request espressif/esp-idf!25190
2023-09-05 16:27:27 +08:00
Roland Dobai
d18aac6941 Merge branch 'bugfix/sbom_hash_check_v4.3' into 'release/v4.3'
fix(test_submodules.py): don't rely on submodule init (v4.3)

See merge request espressif/esp-idf!25063
2023-09-05 16:26:47 +08:00
Zim Kalinowski
5dc5a442a2 versions: Update version to 4.3.6 2023-08-30 09:32:53 +08:00
Peter Dragun
f1101a7bd4 fix(tools): check_python_version accept dev releases as requirement 2023-08-04 14:22:06 +02:00
Frantisek Hrbata
d1c1ebc196 fix(test_submodules.py): don't rely on submodule init
Current version of the test is using "git-submodule foreach", which
requires submodules to be initialized. Non-initialized submodules are
ignored. Our CI is not performing submodule initialization, but instead
it only downloads the submodule content in tools/ci/ci_fetch_submodule.py
from cache and copies it into the submodule path.

Since we already know the submodule path from .gitconfig, we can use it
as argument to git-ls-tree and avoid calling git-submodule at all. This
allows to perform the test even if the submodules are not initialization
and also it makes the code simpler.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-07-29 10:37:08 +02:00
Marek Fiala
459e17c413 tools: bugfix build_docker timeout
- Modify Dockerfile to install tools fixed versions to pyenv
- pip was unable to resolve the dependencies
2023-07-27 09:52:26 +02:00
Harshit Malpani
bb9d410578
fix(ci): update HTTP client example tests runner assignment
HTTP client example tests now connect with locally hosted httpbin service
for more stable results across multiple runs
2023-07-24 11:47:42 +05:30
Xiao Xufeng
f326b7e7a6 ci: Remove fast template build for S3 2023-07-20 03:07:51 +08:00
Peter Dragun
bbdaa0b3e1 fix(tools/python_dep_check): replace deprecated pkg_resources with importlib 2023-07-17 10:18:28 +02:00
Frantisek Hrbata
d4ab79259a tools: add sbom information for submodules
Conflicts:
- spiffs submodules version and hash changed to 0.2-221-gf5e26c4e9331
- protobuf-c submodule version and hash changed to v1.3.0
- ci files moved from tools/ci/config/ into .gitlab/ci/ in v4.4, so
  host-test.yml and rules.yml were changed accordingly in tools/ci/config/.
- added patterns-submodule to rules.yml, because they were also added in
  v4.4
- removed pytest dependency

This adds SBOM information for submodules, which are not managed
by Espressif. Meaning there is no fork for them in the espressif
namespace. Other submodules should add sbom.yml manifest file to
the root of their git repository.

The SBOM information for submodules is stored in the .gitmodules file.
Each SBOM related variable has the "sbom-" prefix and the following
variables may be used:

sbom-version:
   submodule version

sbom-cpe:
   CPE record if available in NVD. This will be used by the SBOM
   tool to check for possible submodule vulnerabilities. The
   version in the CPE can be replaced with the "{}" placeholder,
   which will be replaced by the "sbom-version" value from above.

sbom-supplier:
   Person or organization who is providing the submodule.
   It has to start with "Person:" or "Organization:" prefix
   as required by the SPDX-2.2 standard.

sbom-url:
   URL to the project if exists, e.g. github.

sbom-description:
   Project description.

sbom-hash:
   Submodule SHA as recorded in the git-tree. This field is used by
   CI to check that the submodule checkout hash and info in .gitmodules
   are in sync. IOW if submodule is updated and it has SBOM info in
   .gitmodules, the .gitmodules has to be updated too. The test is
   part of this commit. The checkout has of the submodule can be found
   by using "git submodule status".

Example for micro-ecc submodule
---8<---
[submodule "components/bootloader/subproject/components/micro-ecc/micro-ecc"]
	path = components/bootloader/subproject/components/micro-ecc/micro-ecc
	url = ../../kmackay/micro-ecc.git
	sbom-version = 1.0
	sbom-cpe = cpe:2.3🅰️micro-ecc_project:micro-ecc:{}:*:*:*:*:*:*:*
	sbom-supplier = Person: Ken MacKay
	sbom-url = https://github.com/kmackay/micro-ecc
	sbom-description = A small and fast ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors
	sbom-hash = d037ec89546fad14b5c4d5456c2e23a71e554966
---8<---

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-16 07:34:49 +02:00
Frantisek Hrbata
f1eef50947 tools: extend information in project_description.json
This extends information provided in the project_description.json file.
Newly added information can be used in the SBOM generating tool and
also to improve hints regarding the the component dependency issues.

Added fields

version:
   This adds versioning to the project_description.json file,
   so it's easy to identify if it contains the required information.

project_version:
   Can be used as a version for the resulting binary e.g. `hello_world.bin`.

idf_path:
   This one is probably not necessary, but it allows tools to run even without
   esp-idf environment exported(e.g. export.sh).

c_compiler:
   The `CMAKE_C_COMPILER` value with full path to the compiler binary. This can
   be used to get information about toolchain, which was used to build the project.

common_component_reqs:
   List of common components as presented in cmake's __COMPONENT_REQUIRES_COMMON
   and set in tools/cmake/build.cmake:__build_init().

build_component_info:
   Detailed information about components used during build. It's a
   dictionary with the component name as a key and each component has
   a dictionary with detailed information. Following is an example for
   the efuse component.

   "efuse": {
       "alias": "idf::efuse",
       "target": "___idf_efuse",
       "prefix": "idf",
       "dir": "/home/fhrbata/work/esp-idf/components/efuse",
       "type": "LIBRARY",
       "lib": "__idf_efuse",
       "reqs": [],
       "priv_reqs": [ "bootloader_support", "soc", "spi_flash" ],
       "managed_reqs": [],
       "managed_priv_reqs": [],
       "file": "/home/fhrbata/work/blink/build/esp-idf/efuse/libefuse.a",
       "sources": [ "/home/fhrbata/work/esp-idf/components/efuse/esp32s3/esp_efuse_table.c", ... ],
       "include_dirs": [ "include", "esp32s3/include" ]
   }

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-08 18:42:06 +02:00
Frantisek Hrbata
befb32b45b tools: fix make_json_list to return empty json list for empty cmake list
Currently make_json_list() returns '[ "" ]' for empty cmake list. Fix this
so empty json list is returned instead.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-06-08 18:42:06 +02:00
Ivan Grokhotkov
3ab1ccc304 Merge branch 'fix/tmp_disable_test_autocomplete_v4.3' into 'release/v4.3'
CI: Temporarily allow failures for test_autocomplete

See merge request espressif/esp-idf!22928
2023-03-27 16:57:45 +08:00
Roland Dobai
4aa921a836 CI: Temporarily allow failures for test_autocomplete 2023-03-24 15:24:31 +01:00
Ivan Grokhotkov
6d04316cbe versions: Update version to 4.3.5 2023-03-22 09:49:23 +01:00
KonstantinKondrashov
8095ee4dd2 app: Updates the chip version format (vX.Y) 2023-03-02 19:52:17 +08:00
KonstantinKondrashov
e88f235326 all: Apply new version logic (major * 100 + minor) 2023-03-02 03:21:34 +00:00
Roland Dobai
f9e5272727 Tools: gdbgui is not supported on Python 3.11
Closes https://github.com/espressif/esp-idf/issues/10116
2023-02-28 16:04:16 +01:00
Guillaume Souchere
73fca2c851 esp_system: fix placement of __stack_chk_fail from flash to RAM
When stack check is enabled, certain functions (sometimes placed in RAM)
are being decorated with stack guards and a call to __stask_chk_fail() in
case ofr stack corruption. For this reason, __stack_chk_fail() must be
placed in RAM too.

Add stack check config in heap tests on all targets to find eventual flash to RAM
calls due to stack checks when running callgraph_check.py
2023-02-16 08:48:00 +00:00
Guillaume Souchere
f5e3585a9c tools: update list of references to not include symbold used by __assert_func calls
On xtensa architecture, the call to __assert_func uses a reference to __func__ that can
sometimes be placed in flash. Since the __asert_func can be called from functions in IRAM
the check_callgraph script can report an error when checking for invalid calls from IRAM
to flash sections. However, the __asert_func prevents this scenario at runtime so the
check_callgraph script reports a 'flas positive' situation. For this reasson, all references
to __func__$x found prior to a call to __assert_func are droped in the parsing of the rtl files.
2023-02-16 08:48:00 +00:00
Guillaume Souchere
598e77e287 heap: add check for usage of flash content from iram
this commits:
- adds build-time test to check that no call to flash regions are done from IRAM functions

- resolves problems related to IRAM function using content in flash memory

- update heap_caps_alloc_failed to use a default function name in DRAM
  when necessary instead of creating a function name variable in DRAM for
  each call of heap_caps_alloc_failed. This allows to save some extra bytes
  in RAM.
2023-02-16 08:48:00 +00:00
Chen Sheng
734b00a585 seperate ble wifi environment backport for v4.3 2023-01-12 17:42:12 +08:00
Michael (XIAO Xufeng)
ba76597923 ci: add s2, s3, c3 component ut jobs 2022-11-04 12:37:45 +08:00
Michael (XIAO Xufeng)
30c1b3d00f ci: stop building & testing s3 apps 2022-11-03 17:22:03 +08:00
Fu Hanxi
eab8c067bd ci: support one pipeline must based on commmits 2022-10-20 12:41:30 +00:00
Roland Dobai
71598bf4f9 Tools: Keep making virtual environments with python in the bin directory
On Ubuntu 22.04 virtualenv with the latest setuptools produces
environments with Python in "local/bin" instead of "bin" (see
https://github.com/pypa/virtualenv/issues/2350).

Closes https://github.com/espressif/esp-idf/issues/9931
2022-10-14 15:35:17 +02:00
Marek Fiala
37f193c46c Tools: bugfix wrong format of idf-env.json, KeyError: 'idfSelectedId'
Closes https://github.com/espressif/esp-idf/issues/9837
2022-09-27 22:39:07 +02:00
Chen Yudong
977d1a4b95 CI: optimize ATS ci flow 2022-09-16 13:50:34 +08:00
Ivan Grokhotkov
5b2bfa0574 Merge branch 'bugfix/ci_check_executable_windows_v4.3' into 'release/v4.3'
ci: fix check_executables issue on Windows (v4.3)

See merge request espressif/esp-idf!20094
2022-09-13 14:57:03 +08:00
Ivan Grokhotkov
63091bdf8d versions: Update version to 4.3.4 2022-09-12 10:59:15 +02:00
Michael (XIAO Xufeng)
7ff41e406b ci: fix check_executables issue on Windows 2022-09-11 02:54:57 +08:00
Fu Hanxi
d7eb0d9d71 ci: build all when has env var NIGHTLY_RUN 2022-08-22 18:53:27 +08:00
Anton Maklakov
843b870b20 Merge branch 'ci/support_nightly_build_keyword_in_ttfw_v4.3' into 'release/v4.3'
ci: support keyword `nightly_run` in ttfw_idf decorator (v4.3)

See merge request espressif/esp-idf!19133
2022-08-17 12:50:30 +08:00
Alexey Gerenkov
def78db543 tools: Updates OpenOCD version to 'v0.11.0-esp32-20220706' 2022-08-16 11:07:06 +00:00
Aleksei Apaseev
dbd6519948 ci: allow scheduled pipelines 2022-08-15 10:43:11 +00:00
Fu Hanxi
d94dbdd1be ci: support keyword nightly_run in ttfw_idf decorator 2022-08-15 10:43:11 +00:00
Fu Hanxi
da2e62270b fix: set IDF_COMPONENT_MANAGER property to 0 as default 2022-08-01 11:10:32 +08:00
gabsuren
7fd218dfa1 test_apps: tls removed version 1_1 2022-07-27 12:42:02 +04:00
Fu Hanxi
19ad4a8d51 ci: pip install idf-component-manager inside CI 2022-07-18 13:21:55 +08:00
Fu Hanxi
12180aabfa build&config: lift property IDF_COMPONENT_MANAGER to root level 2022-07-18 13:21:41 +08:00
Djordje Nedic
dd10afb18d tools: overhaul csv handling for mfg_gen and nvs_partition_gen
This fixes the issue where multiline strings and strings with delimiters inside the nvs input csv file were incorrectly parsed, and adds back the ability to add comment lines anywhere in the CSV file.

The issue stems from the move away from the python built in csv module to manual parsing, which was made after moving away from using the csv module to parse mfg data.

This reverts back to using the csv module for parsing and writing csv data in both mfg_gen and nvs_partition_gen, fixes the original issue in mfg_gen and improves code quality which makes the code more readable and maintainable.

Closes https://github.com/espressif/esp-idf/issues/7175
2022-06-24 22:18:00 +02:00
Laukik Hase
75073353ed
ci: Fix protobuf-related error in assign_test stage 2022-06-17 15:37:49 +05:30
Mahavir Jain
9b593dcb67 test_apps: add build only test for !MBEDTLS_CERTIFICATE_BUNDLE 2022-06-13 11:49:04 +05:30