diff --git a/tools/build_apps.py b/tools/build_apps.py index 412274c618..5b06885400 100755 --- a/tools/build_apps.py +++ b/tools/build_apps.py @@ -5,9 +5,10 @@ # import argparse +import shutil import sys import logging -from find_build_apps import BuildItem, BuildError, setup_logging, BUILD_SYSTEMS, safe_exit_if_file_is_empty +from find_build_apps import BuildItem, BuildError, setup_logging, BUILD_SYSTEMS def main(): @@ -71,10 +72,11 @@ def main(): help="Name of the file to read the list of builds from. If not specified, read from stdin.", ) args = parser.parse_args() + setup_logging(args) - safe_exit_if_file_is_empty(args.build_list.name) build_items = [BuildItem.from_json(line) for line in args.build_list] + if not build_items: logging.error("Empty build list!") raise SystemExit(1) @@ -106,6 +108,10 @@ def main(): failed_builds = [] for build_info in builds_for_current_job: + if not build_info.build: + logging.info('Skip build detected. Skipping...') + continue + logging.info("Running build {}: {}".format(build_info.index, repr(build_info))) build_system_class = BUILD_SYSTEMS[build_info.build_system] try: @@ -116,6 +122,11 @@ def main(): failed_builds.append(build_info) else: raise SystemExit(1) + else: + if not build_info.preserve: + logging.info('NOT preserve artifacts detected. Deleting...') + shutil.rmtree(build_info.work_dir, ignore_errors=True) + shutil.rmtree(build_info.build_log_path, ignore_errors=True) if failed_builds: logging.error("The following build have failed:") diff --git a/tools/ci/check_build_warnings.py b/tools/ci/check_build_warnings.py index 89c59cf233..e64cc40662 100755 --- a/tools/ci/check_build_warnings.py +++ b/tools/ci/check_build_warnings.py @@ -13,10 +13,10 @@ import logging import re try: - from find_build_apps import BuildItem, setup_logging, safe_exit_if_file_is_empty + from find_build_apps import BuildItem, setup_logging except ImportError: sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..")) - from find_build_apps import BuildItem, setup_logging, safe_exit_if_file_is_empty + from find_build_apps import BuildItem, setup_logging WARNING_REGEX = re.compile(r"(?:error|warning)[^\w]", re.MULTILINE | re.IGNORECASE) @@ -69,7 +69,6 @@ def main(): args = parser.parse_args() setup_logging(args) - safe_exit_if_file_is_empty(args.build_list.name) build_items = [BuildItem.from_json(line) for line in args.build_list] if not build_items: diff --git a/tools/find_build_apps/__init__.py b/tools/find_build_apps/__init__.py index 891721335e..c87ceebda0 100644 --- a/tools/find_build_apps/__init__.py +++ b/tools/find_build_apps/__init__.py @@ -6,7 +6,6 @@ from .common import ( config_rules_from_str, setup_logging, DEFAULT_TARGET, - safe_exit_if_file_is_empty, ) from .cmake import CMakeBuildSystem, BUILD_SYSTEM_CMAKE from .make import MakeBuildSystem, BUILD_SYSTEM_MAKE @@ -29,5 +28,4 @@ __all__ = [ "MakeBuildSystem", "BUILD_SYSTEM_MAKE", "BUILD_SYSTEMS", - "safe_exit_if_file_is_empty", ] diff --git a/tools/find_build_apps/common.py b/tools/find_build_apps/common.py index 0dfb1ba6e0..dcb39432d0 100644 --- a/tools/find_build_apps/common.py +++ b/tools/find_build_apps/common.py @@ -392,9 +392,3 @@ def setup_logging(args): stream=args.log_file or sys.stderr, level=log_level, ) - - -def safe_exit_if_file_is_empty(file_name): - if os.stat(file_name).st_size == 0: - logging.warning('Skipping all...') - sys.exit(0)