···283283 releases = list(filter(lambda x: not x["prerelease"], all_releases))
284284285285 if len(releases) == 0:
286286- raise ValueError(f"{homepage} does not contain any stable releases")
286286+ logging.warning(f"{homepage} does not contain any stable releases, looking for tags instead...")
287287+ url = f"https://api.github.com/repos/{owner}/{repo}/tags"
288288+ all_tags = _fetch_github(url)
289289+ # Releases are used with a couple of fields that tags possess as well. We will fake these releases.
290290+ releases = [{'tag_name': tag['name'], 'tarball_url': tag['tarball_url']} for tag in all_tags]
291291+292292+ if len(releases) == 0:
293293+ raise ValueError(f"{homepage} does not contain any stable releases neither tags, stopping now.")
287294288295 versions = map(lambda x: strip_prefix(x["tag_name"]), releases)
289296 version = _determine_latest_version(current_version, target, versions)
···457464 successful_fetch = True
458465 break
459466 except ValueError:
467467+ logging.exception(f"Failed to fetch releases for {pname}")
460468 continue
461469462470 if not successful_fetch: