mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-08 07:04:32 +02:00
ci: raise RuntimeError instead of SystemExit to avoid kill the process
otherwise the pytest process will be killed immediately
This commit is contained in:
@@ -123,6 +123,11 @@ class BuildReportDownloader:
|
|||||||
def download_app(
|
def download_app(
|
||||||
self, app_build_path: str, artifact_type: ArtifactType = ArtifactType.BUILD_DIR_WITHOUT_MAP_AND_ELF_FILES
|
self, app_build_path: str, artifact_type: ArtifactType = ArtifactType.BUILD_DIR_WITHOUT_MAP_AND_ELF_FILES
|
||||||
) -> None:
|
) -> None:
|
||||||
|
if app_build_path not in self.app_presigned_urls_dict:
|
||||||
|
raise ValueError(f'No presigned url found for {app_build_path}. '
|
||||||
|
f'Usually this should not happen, please re-trigger a pipeline.'
|
||||||
|
f'If this happens again, please report this bug to the CI channel.')
|
||||||
|
|
||||||
url = self.app_presigned_urls_dict[app_build_path][artifact_type.value]
|
url = self.app_presigned_urls_dict[app_build_path][artifact_type.value]
|
||||||
|
|
||||||
logging.debug('Downloading app from %s', url)
|
logging.debug('Downloading app from %s', url)
|
||||||
|
@@ -1,14 +1,16 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
# SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import glob
|
import glob
|
||||||
import os
|
import os
|
||||||
import typing as t
|
import typing as t
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from zipfile import ZIP_DEFLATED, ZipFile
|
from zipfile import ZIP_DEFLATED
|
||||||
|
from zipfile import ZipFile
|
||||||
|
|
||||||
import minio
|
import minio
|
||||||
from artifacts_handler import ArtifactType, get_minio_client, getenv
|
from artifacts_handler import ArtifactType
|
||||||
|
from artifacts_handler import get_minio_client
|
||||||
|
from artifacts_handler import getenv
|
||||||
from idf_build_apps import App
|
from idf_build_apps import App
|
||||||
from idf_build_apps.utils import rmdir
|
from idf_build_apps.utils import rmdir
|
||||||
from idf_ci_utils import IDF_PATH
|
from idf_ci_utils import IDF_PATH
|
||||||
@@ -103,7 +105,7 @@ class AppUploader:
|
|||||||
try:
|
try:
|
||||||
self._client.stat_object(getenv('IDF_S3_BUCKET'), obj_name)
|
self._client.stat_object(getenv('IDF_S3_BUCKET'), obj_name)
|
||||||
except minio.error.S3Error as e:
|
except minio.error.S3Error as e:
|
||||||
raise SystemExit(
|
raise RuntimeError(
|
||||||
f'No such file on minio server: {obj_name}. '
|
f'No such file on minio server: {obj_name}. '
|
||||||
f'Probably the build failed or the artifacts got expired. '
|
f'Probably the build failed or the artifacts got expired. '
|
||||||
f'Full error message: {str(e)}'
|
f'Full error message: {str(e)}'
|
||||||
@@ -112,7 +114,7 @@ class AppUploader:
|
|||||||
self._client.fget_object(getenv('IDF_S3_BUCKET'), obj_name, zip_filename)
|
self._client.fget_object(getenv('IDF_S3_BUCKET'), obj_name, zip_filename)
|
||||||
print(f'Downloaded to {zip_filename}')
|
print(f'Downloaded to {zip_filename}')
|
||||||
except minio.error.S3Error as e:
|
except minio.error.S3Error as e:
|
||||||
raise SystemExit('Shouldn\'t happen, please report this bug in the CI channel' + str(e))
|
raise RuntimeError('Shouldn\'t happen, please report this bug in the CI channel' + str(e))
|
||||||
|
|
||||||
with ZipFile(zip_filename, 'r') as zr:
|
with ZipFile(zip_filename, 'r') as zr:
|
||||||
zr.extractall()
|
zr.extractall()
|
||||||
|
Reference in New Issue
Block a user