Unverified Commit a5345967 authored by Martin Weinelt's avatar Martin Weinelt Committed by GitHub
Browse files

update-python-libraries: support GitHub repositories with tag releases only (#435695)

parents d5ffbd6c 3b64826e
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -283,7 +283,14 @@ def _get_latest_version_github(attr_path, package, extension, current_version, t
    releases = list(filter(lambda x: not x["prerelease"], all_releases))

    if len(releases) == 0:
        raise ValueError(f"{homepage} does not contain any stable releases")
        logging.warning(f"{homepage} does not contain any stable releases, looking for tags instead...")
        url = f"https://api.github.com/repos/{owner}/{repo}/tags"
        all_tags = _fetch_github(url)
        # Releases are used with a couple of fields that tags possess as well. We will fake these releases.
        releases = [{'tag_name': tag['name'], 'tarball_url': tag['tarball_url']} for tag in all_tags]

    if len(releases) == 0:
        raise ValueError(f"{homepage} does not contain any stable releases neither tags, stopping now.")

    versions = map(lambda x: strip_prefix(x["tag_name"]), releases)
    version = _determine_latest_version(current_version, target, versions)
@@ -457,6 +464,7 @@ def _update_package(path, target):
            successful_fetch = True
            break
        except ValueError:
            logging.exception(f"Failed to fetch releases for {pname}")
            continue

    if not successful_fetch: