···283 releases = list(filter(lambda x: not x["prerelease"], all_releases))
284285 if len(releases) == 0:
286- raise ValueError(f"{homepage} does not contain any stable releases")
0000000287288 versions = map(lambda x: strip_prefix(x["tag_name"]), releases)
289 version = _determine_latest_version(current_version, target, versions)
···457 successful_fetch = True
458 break
459 except ValueError:
0460 continue
461462 if not successful_fetch:
···283 releases = list(filter(lambda x: not x["prerelease"], all_releases))
284285 if len(releases) == 0:
286+ logging.warning(f"{homepage} does not contain any stable releases, looking for tags instead...")
287+ url = f"https://api.github.com/repos/{owner}/{repo}/tags"
288+ all_tags = _fetch_github(url)
289+ # Releases are used with a couple of fields that tags possess as well. We will fake these releases.
290+ releases = [{'tag_name': tag['name'], 'tarball_url': tag['tarball_url']} for tag in all_tags]
291+292+ if len(releases) == 0:
293+ raise ValueError(f"{homepage} does not contain any stable releases neither tags, stopping now.")
294295 versions = map(lambda x: strip_prefix(x["tag_name"]), releases)
296 version = _determine_latest_version(current_version, target, versions)
···464 successful_fetch = True
465 break
466 except ValueError:
467+ logging.exception(f"Failed to fetch releases for {pname}")
468 continue
469470 if not successful_fetch: