From 317b74033f74540b1386bbb8b7cee27f30436285 Mon Sep 17 00:00:00 2001 From: Harshal Sheth Date: Fri, 31 Jan 2025 11:42:46 -0800 Subject: [PATCH] fix(cli): avoid false positive cli upgrade suggestions (#12497) --- .../src/datahub/upgrade/upgrade.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/metadata-ingestion/src/datahub/upgrade/upgrade.py b/metadata-ingestion/src/datahub/upgrade/upgrade.py index 276f4ccd54a4a1..85767c619a74b4 100644 --- a/metadata-ingestion/src/datahub/upgrade/upgrade.py +++ b/metadata-ingestion/src/datahub/upgrade/upgrade.py @@ -55,11 +55,19 @@ async def get_client_version_stats(): async with session.get(pypi_url) as resp: response_json = await resp.json() try: - releases = response_json.get("releases", []) - sorted_releases = sorted(releases.keys(), key=lambda x: Version(x)) - latest_cli_release_string = [ - x for x in sorted_releases if "rc" not in x - ][-1] + releases = response_json.get("releases", {}) + filtered_releases = { + version: release_files + for version, release_files in releases.items() + if not all( + release_file.get("yanked") for release_file in release_files + ) + and "rc" not in version + } + sorted_releases = sorted( + filtered_releases.keys(), key=lambda x: Version(x) + ) + latest_cli_release_string = sorted_releases[-1] latest_cli_release = Version(latest_cli_release_string) current_version_info = releases.get(current_version_string) current_version_date = None