From 8fc0cc10558b9dada16cde34e049e5a0d4921374 Mon Sep 17 00:00:00 2001 From: Minh Vu Date: Sat, 20 Jun 2026 18:17:50 +0200 Subject: [PATCH] Fix metadata updater JSON handling Signed-off-by: Minh Vu --- .../update-metadata-version.py | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/actions/check-container-upgrade/update-metadata-version.py b/.github/actions/check-container-upgrade/update-metadata-version.py index 27f99efa4460a..b4357169df2fa 100644 --- a/.github/actions/check-container-upgrade/update-metadata-version.py +++ b/.github/actions/check-container-upgrade/update-metadata-version.py @@ -42,16 +42,12 @@ def jackson_format(data): if not value: formatted = "[ ]" else: - items = ", ".join(f'"{v}"' for v in value) + items = ", ".join(json.dumps(v, ensure_ascii=False) for v in value) formatted = f"[ {items} ]" - elif value is None: - formatted = "null" - elif isinstance(value, str): - formatted = f'"{value}"' else: - formatted = json.dumps(value) + formatted = json.dumps(value, ensure_ascii=False) comma = "," if j < len(keys) - 1 else "" - lines.append(f' "{key}" : {formatted}{comma}') + lines.append(f" {json.dumps(key, ensure_ascii=False)} : {formatted}{comma}") lines.append("} ]") return "\n".join(lines) @@ -96,8 +92,18 @@ def main(): new_version = sys.argv[3] metadata_files = sys.argv[4:] + failed_metadata_files = [] for metadata_file in metadata_files: - update_metadata(artifact_id, old_version, new_version, metadata_file) + if not update_metadata(artifact_id, old_version, new_version, metadata_file): + failed_metadata_files.append(metadata_file) + + if failed_metadata_files: + print( + "❌ No metadata target was updated in: " + + ", ".join(failed_metadata_files), + file=sys.stderr, + ) + sys.exit(1) if __name__ == "__main__":