zephyr/scripts/ci
Dmitrii Golovanov d9f567051e ci: elasticsearch: Upload script improvements
Multiple improvements of the `upload_test_results_es.py` script:

 * JSON objects flattening.

   This feature allows `twister.json` file preprocessing to simplify
   its Elasticsearch index structure for complex hierarhical objects,
   for example with memory footprint, or code coverage data.

   A new command line option `--flatten` is added to change testsuite data
   structure in regard of one of its list objects: either `testcases` or
   `recording`, so each item there becomes an independent data record
   inheriting all other testsuite properties, whereas the children
   object's properties are renamed with the parent object's name
   as a prefix: 'testcases_' or 'recording_' respectively.
   Only one testsuite property can be flattened this way per index upload.
   Other children objects will be treated accorging to the index structure.

   Related new command line options (with help text explanations):
    `--flatten-dict-name`,
    `--flatten-list-names`,
    `--flatten-separator`,
    `--transpose-separator`,
    `--escape-separator`

 * A new command line option `--transform` is added to allow regexp group
   parsing in string propertites extracting additional derived properties.

 * A new command line option `--exclude` is added to exclude testsuite
   properties not needed to store at Elasticsearch index.

 * Branch name `--run-branch` and Workflow ID `--run-workflow` command
   line options as additional key fields to allow data from different
   branches, workflows and triggering events in the same index.

 * A new command line option `--map-file` is added to apply
   an explicit index structure to the `twister.json` input data.

 * Add bulk operation timeout parameter for heavy/long uploads.

Other changes:
  * batch upload error handling and logging;
  * inline documentation improvements;
  * some corner case fixes on empty objects.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2024-09-09 15:24:26 +03:00
..
coverage Coverage Analysis: Update Test Case Status 2024-08-22 08:49:28 -04:00
stats ci: pr stats: deal with trivial+hotfix PRs 2024-02-02 05:54:04 -05:00
check_compliance.py scripts: ci: check_compliance: Add MCUboot Kconfig 2024-09-09 15:23:16 +03:00
errno.py
guideline_check.py scripts: ci: guideline_check: mitigate excessive false positives 2024-08-19 09:51:34 -04:00
Kconfig.board.v2 hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
pylintrc scripts: ci: Enable pylint check for argument parser abbreviations 2023-01-26 20:12:36 +09:00
tags.yaml ci: testplan: fix mcumgr path 2023-11-14 17:49:40 -05:00
test_plan.py scripts: ci: test_plan: use find_modules only when commits are provided 2024-07-18 12:34:10 -04:00
twister_ignore.txt ci: do not run twister on some script changes 2024-08-28 13:58:56 -04:00
upload_test_results_es.py ci: elasticsearch: Upload script improvements 2024-09-09 15:24:26 +03:00
version_mgr.py ci: version_mgr: minor cleanups 2023-12-20 11:57:36 +00:00