diff --git a/lib/tools/common/armbian_utils.py b/lib/tools/common/armbian_utils.py index cc7d2d310..070eba8d3 100755 --- a/lib/tools/common/armbian_utils.py +++ b/lib/tools/common/armbian_utils.py @@ -363,9 +363,16 @@ def armbian_run_command_and_parse_json_from_stdout(exec_cmd: list[str], params: except subprocess.CalledProcessError as e: # decode utf8 manually, universal_newlines messes up bash encoding logs = parse_log_lines_from_stderr(e.stderr) - log.error(f"Error calling Armbian command: {' '.join(exec_cmd)}") - log.error(f"Error details: params: {params} - return code: {e.returncode} - stderr: {'; '.join(logs[-5:])}") - return {"in": params, "out": {}, "logs": logs, "config_ok": False} + if e.returncode == 44: + # special handling for exit_with_target_not_supported_error() in armbian core. + log.warning(f"Skipped target: {' '.join(exec_cmd)}") + log.warning(f"Skipped target details 1: {'; '.join(logs[-5:])}") + return {"in": params, "out": {}, "logs": logs, "config_ok": False, "target_not_supported": True} + else: + log.error(f"Error calling Armbian command: {' '.join(exec_cmd)}") + log.error(f"Error details 1: params: {params}") + log.error(f"Error details 2: code: {e.returncode} - {'; '.join(logs[-5:])}") + return {"in": params, "out": {}, "logs": logs, "config_ok": False} if result is not None: if result.stderr: diff --git a/lib/tools/info/artifact-reducer.py b/lib/tools/info/artifact-reducer.py index 096daf13e..fbb39364a 100644 --- a/lib/tools/info/artifact-reducer.py +++ b/lib/tools/info/artifact-reducer.py @@ -27,8 +27,11 @@ all_artifacts: list[dict] = [] # loop over the build infos. for each, construct a structure with the artifacts. for build_info in build_infos: - if build_info["config_ok"] == False: - log.warning(f"Skipping failed config '{build_info['in']}'...") + if build_info["config_ok"] is False: + if ("target_not_supported" in build_info) and (build_info["target_not_supported"] is True): + log.debug(f"Skipping 'target not supported' config '{build_info['in']}'...") + else: + log.warning(f"Skipping *failed* config '{build_info['in']}'...") continue outvars = build_info["out"] @@ -52,17 +55,17 @@ for build_info in build_infos: pipeline = build_info["in"]["pipeline"] if "build-artifacts" in pipeline: if pipeline["build-artifacts"] == False: - log.warning(f"Skipping artifact '{artifact_name}' (pipeline build-artifacts '{pipeline['build-artifacts']}' config)...") + log.debug(f"Skipping artifact '{artifact_name}' (pipeline build-artifacts '{pipeline['build-artifacts']}' config)...") continue else: - log.warning(f"Keeping artifact '{artifact_name}' (pipeline build-artifacts '{pipeline['build-artifacts']}' config)...") + log.debug(f"Keeping artifact '{artifact_name}' (pipeline build-artifacts '{pipeline['build-artifacts']}' config)...") if "only-artifacts" in pipeline: only_artifacts = pipeline["only-artifacts"] if artifact_name not in only_artifacts: - log.warning(f"Skipping artifact '{artifact_name}' (pipeline only-artifacts '{','.join(only_artifacts)}' config)...") + log.debug(f"Skipping artifact '{artifact_name}' (pipeline only-artifacts '{','.join(only_artifacts)}' config)...") continue else: - log.warning(f"Keeping artifact '{artifact_name}' (pipeline only-artifacts '{','.join(only_artifacts)}' config)...") + log.debug(f"Keeping artifact '{artifact_name}' (pipeline only-artifacts '{','.join(only_artifacts)}' config)...") inputs: dict[str, str] = {} for input_raw in inputs_raw_array: diff --git a/lib/tools/info/outdated-artifact-image-reducer.py b/lib/tools/info/outdated-artifact-image-reducer.py index 42e683079..4e042d551 100644 --- a/lib/tools/info/outdated-artifact-image-reducer.py +++ b/lib/tools/info/outdated-artifact-image-reducer.py @@ -57,7 +57,7 @@ for oci_name in tags_by_oci_name: if len(tags) > 1: list_tags_escaped_quoted = ', '.join([f"'{tag}'" for tag in tags]) log.warning( - f"Artifact '{oci_name}' has {len(tags)} different tags: {list_tags_escaped_quoted} - this is certainly a problem, go fix the artifact.") + f"Artifact '{oci_name}' has {len(tags)} different tags: {list_tags_escaped_quoted}") # map images to in.target_id images_by_target_id = {} @@ -107,10 +107,10 @@ for target_id, image in images_by_target_id.items(): if "pipeline" in image["in"]: if "build-image" in image["in"]["pipeline"]: if not image["in"]["pipeline"]["build-image"]: - log.warning(f"Image {image['in']['target_id']} has a pipeline build-image false, skipping") + log.debug(f"Image {image['in']['target_id']} has a pipeline build-image false, skipping") continue else: - log.warning(f"Image {image['in']['target_id']} has a pipeline build-image true, processing") + log.debug(f"Image {image['in']['target_id']} has a pipeline build-image true, processing") if target_id not in artifacts_by_target_id: continue