mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'ci/fix_integration_test_download_bin_4.3' into 'release/v4.3'
ci(fix): integration test download test bin (4.3) See merge request espressif/esp-idf!26648
This commit is contained in:
commit
a94a8cfce2
@ -129,7 +129,7 @@
|
|||||||
TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/auto_test_script/TestCaseFiles"
|
TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/auto_test_script/TestCaseFiles"
|
||||||
INTEGRATION_TEST_DIR: "${CI_PROJECT_DIR}/tools/ci/integration_test"
|
INTEGRATION_TEST_DIR: "${CI_PROJECT_DIR}/tools/ci/integration_test"
|
||||||
CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/tools/ci/integration_test/test_configs"
|
CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/tools/ci/integration_test/test_configs"
|
||||||
PREPARE_TEST_BIN_SCRIPT: "${CI_PROJECT_DIR}/tools/ci/integration_test/prepare_test_bins.py"
|
PREPARE_TEST_BIN_SCRIPT: "${CI_PROJECT_DIR}/auto_test_script/tools/ci/idf_prepare_test_bins.py"
|
||||||
CI_RUNNER_SCRIPT: "${CI_PROJECT_DIR}/auto_test_script/bin/CIRunner.py"
|
CI_RUNNER_SCRIPT: "${CI_PROJECT_DIR}/auto_test_script/bin/CIRunner.py"
|
||||||
PYTHONPATH: "${CI_PROJECT_DIR}/auto_test_script/packages:${CI_PROJECT_DIR}/tools/ci/python_packages:${PYTHONPATH}"
|
PYTHONPATH: "${CI_PROJECT_DIR}/auto_test_script/packages:${CI_PROJECT_DIR}/tools/ci/python_packages:${PYTHONPATH}"
|
||||||
INITIAL_CONDITION_RETRY_COUNT: "1"
|
INITIAL_CONDITION_RETRY_COUNT: "1"
|
||||||
|
@ -1,67 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
#
|
|
||||||
# SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
import os
|
|
||||||
|
|
||||||
import gitlab
|
|
||||||
import gitlab_api
|
|
||||||
from AutoTestScript.RunnerConfigs.Config import Config
|
|
||||||
|
|
||||||
SSC_BUILD_JOB_MAP = {
|
|
||||||
'ESP32': 'build_ssc_esp32',
|
|
||||||
'ESP32C3': 'build_ssc_esp32c3',
|
|
||||||
}
|
|
||||||
NEEDED_FILES = [
|
|
||||||
'flasher_args.json',
|
|
||||||
'bootloader/bootloader.bin',
|
|
||||||
'partition_table/partition-table.bin',
|
|
||||||
'ssc.bin',
|
|
||||||
'ssc.elf',
|
|
||||||
]
|
|
||||||
IDF_PATH = os.environ.get('IDF_PATH')
|
|
||||||
|
|
||||||
|
|
||||||
def try_to_download_artifacts(bin_path):
|
|
||||||
'''
|
|
||||||
bin_path: "SSC/ssc_bin/ESP32[C3]/SSC[_APP]"
|
|
||||||
'''
|
|
||||||
project_id = os.getenv('CI_PROJECT_ID')
|
|
||||||
pipeline_id = os.getenv('CI_PIPELINE_ID')
|
|
||||||
gitlab_inst = gitlab_api.Gitlab(project_id)
|
|
||||||
build_job_name = SSC_BUILD_JOB_MAP[bin_path.split('/')[-2]]
|
|
||||||
job_list = gitlab_inst.find_job_id(build_job_name, pipeline_id=pipeline_id)
|
|
||||||
files_to_download = [os.path.join(bin_path, f) for f in NEEDED_FILES]
|
|
||||||
for job_info in job_list:
|
|
||||||
try:
|
|
||||||
gitlab_inst.download_artifact(job_info['id'], files_to_download, IDF_PATH)
|
|
||||||
print('Downloaded {} from {}'.format(bin_path, job_info['id']))
|
|
||||||
break
|
|
||||||
except gitlab.exceptions.GitlabError as e:
|
|
||||||
if e.response_code == 404:
|
|
||||||
continue
|
|
||||||
raise
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
parser = argparse.ArgumentParser()
|
|
||||||
parser.add_argument(
|
|
||||||
'test_config_file',
|
|
||||||
help='The test config file to be used.'
|
|
||||||
)
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
configs = Config.parse(args.test_config_file)
|
|
||||||
test_bin_paths = configs.get_bin_paths()
|
|
||||||
|
|
||||||
for _path in test_bin_paths:
|
|
||||||
if os.path.exists(_path):
|
|
||||||
continue
|
|
||||||
relative_path = os.path.relpath(_path, IDF_PATH)
|
|
||||||
try_to_download_artifacts(relative_path)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
Loading…
x
Reference in New Issue
Block a user