kopia lustrzana https://github.com/espressif/esp-idf
ci: change known_failure_cases workflow
rodzic
1da4afc70a
commit
8003214fd5
|
@ -96,6 +96,9 @@ variables:
|
||||||
# This is used only if CI_PYTHON_TOOL_REPO is not empty.
|
# This is used only if CI_PYTHON_TOOL_REPO is not empty.
|
||||||
CI_PYTHON_TOOL_BRANCH: ""
|
CI_PYTHON_TOOL_BRANCH: ""
|
||||||
|
|
||||||
|
# Set this variable to specify the file name for the known failure cases.
|
||||||
|
KNOWN_FAILURE_CASES_FILE_NAME: "5.0.txt"
|
||||||
|
|
||||||
IDF_CI_BUILD: 1
|
IDF_CI_BUILD: 1
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
junit: XUNIT_RESULT.xml
|
junit: XUNIT_RESULT.xml
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
script:
|
script:
|
||||||
- retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
|
- python tools/ci/get_known_failure_cases_file.py
|
||||||
# get runner env config file
|
# get runner env config file
|
||||||
- retry_failed git clone $TEST_ENV_CONFIG_REPO
|
- retry_failed git clone $TEST_ENV_CONFIG_REPO
|
||||||
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
|
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
# Runner tags are comma separated, replace the comma with " and " for markers
|
# Runner tags are comma separated, replace the comma with " and " for markers
|
||||||
- job_tags=$(python tools/ci/python_packages/gitlab_api.py get_job_tags $CI_PROJECT_ID --job_id $CI_JOB_ID)
|
- job_tags=$(python tools/ci/python_packages/gitlab_api.py get_job_tags $CI_PROJECT_ID --job_id $CI_JOB_ID)
|
||||||
- markers=$(echo $job_tags | sed -e "s/,/ and /g")
|
- markers=$(echo $job_tags | sed -e "s/,/ and /g")
|
||||||
- run_cmd pytest $TEST_DIR -m \"${markers}\" --junitxml=XUNIT_RESULT.xml --known-failure-cases-file known_failure_cases/known_failure_cases.txt
|
- run_cmd pytest $TEST_DIR -m \"${markers}\" --junitxml=XUNIT_RESULT.xml --known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
||||||
|
|
||||||
.pytest_examples_dir_template:
|
.pytest_examples_dir_template:
|
||||||
extends: .pytest_template
|
extends: .pytest_template
|
||||||
|
@ -534,10 +534,10 @@ test_app_test_pytest_esp32s3_mspi_f4r4:
|
||||||
- retry_failed git clone $TEST_ENV_CONFIG_REPO
|
- retry_failed git clone $TEST_ENV_CONFIG_REPO
|
||||||
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
|
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
|
||||||
# git clone the known failure cases repo, run test
|
# git clone the known failure cases repo, run test
|
||||||
- retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
|
- python tools/ci/get_known_failure_cases_file.py
|
||||||
# run test
|
# run test
|
||||||
- cd tools/ci/python_packages/tiny_test_fw/bin
|
- cd tools/ci/python_packages/tiny_test_fw/bin
|
||||||
- run_cmd python Runner.py $TEST_CASE_PATH -c $CONFIG_FILE -e $ENV_FILE --known_failure_cases_file $CI_PROJECT_DIR/known_failure_cases/known_failure_cases.txt
|
- run_cmd python Runner.py $TEST_CASE_PATH -c $CONFIG_FILE -e $ENV_FILE --known_failure_cases_file $CI_PROJECT_DIR/${KNOWN_FAILURE_CASES_FILE_NAME}
|
||||||
|
|
||||||
.example_test_template:
|
.example_test_template:
|
||||||
extends: .target_test_job_template
|
extends: .target_test_job_template
|
||||||
|
|
|
@ -38,4 +38,5 @@ tools/mocks/**/*
|
||||||
tools/set-submodules-to-github.sh
|
tools/set-submodules-to-github.sh
|
||||||
tools/templates/sample_component/CMakeLists.txt
|
tools/templates/sample_component/CMakeLists.txt
|
||||||
tools/templates/sample_component/include/main.h
|
tools/templates/sample_component/include/main.h
|
||||||
|
tools/ci/get_known_failure_cases_file.py
|
||||||
tools/templates/sample_component/main.c
|
tools/templates/sample_component/main.c
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
# SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
import urllib3
|
||||||
|
from minio import Minio
|
||||||
|
|
||||||
|
|
||||||
|
def getenv(env_var: str) -> str:
|
||||||
|
try:
|
||||||
|
return os.environ[env_var]
|
||||||
|
except KeyError as e:
|
||||||
|
raise Exception(f'Environment variable {env_var} not set') from e
|
||||||
|
|
||||||
|
|
||||||
|
def get_minio_client() -> Minio:
|
||||||
|
return Minio(
|
||||||
|
getenv('IDF_S3_SERVER').replace('https://', ''),
|
||||||
|
access_key=getenv('IDF_S3_ACCESS_KEY'),
|
||||||
|
secret_key=getenv('IDF_S3_SECRET_KEY'),
|
||||||
|
http_client=urllib3.PoolManager(
|
||||||
|
num_pools=10,
|
||||||
|
timeout=urllib3.Timeout.DEFAULT_TIMEOUT,
|
||||||
|
retries=urllib3.Retry(
|
||||||
|
total=5,
|
||||||
|
backoff_factor=0.2,
|
||||||
|
status_forcelist=[500, 502, 503, 504],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
client = get_minio_client()
|
||||||
|
file_name = getenv('KNOWN_FAILURE_CASES_FILE_NAME')
|
||||||
|
client.fget_object('ignore-test-result-files', file_name, file_name)
|
|
@ -8,3 +8,4 @@ jsonschema
|
||||||
junit_xml
|
junit_xml
|
||||||
python-gitlab
|
python-gitlab
|
||||||
pyyaml
|
pyyaml
|
||||||
|
minio
|
||||||
|
|
Ładowanie…
Reference in New Issue