Allow dev manifest selection when using non-releases URLs

This commit is contained in:
Aaron
2025-12-14 18:02:36 -05:00
parent 90d3e5676a
commit daea783d38

View File

@@ -210,21 +210,22 @@ def fetch_manifest_for_channel(channel: str, with_meta: bool = False):
try:
parts = base_manifest_url.split("/")
if "releases" not in parts:
if manifest:
return (manifest, {"version_dates": version_dates}) if with_meta else manifest
mf = fetch_manifest(base_manifest_url)
return (mf, {"version_dates": version_dates}) if with_meta else mf
idx = parts.index("releases")
owner = parts[idx - 2]
repo = parts[idx - 1]
base = "/".join(parts[:3])
api_url = f"{base}/api/v1/repos/{owner}/{repo}/releases"
req = urllib.request.Request(api_url)
token = _auth_token()
if token:
req.add_header("Authorization", f"token {token}")
resp = urllib.request.urlopen(req, timeout=10)
releases = json.loads(resp.read().decode())
# No releases API for this URL; keep any fetched manifest and skip API discovery.
releases = []
if not manifest:
manifest = fetch_manifest(base_manifest_url)
else:
idx = parts.index("releases")
owner = parts[idx - 2]
repo = parts[idx - 1]
base = "/".join(parts[:3])
api_url = f"{base}/api/v1/repos/{owner}/{repo}/releases"
req = urllib.request.Request(api_url)
token = _auth_token()
if token:
req.add_header("Authorization", f"token {token}")
resp = urllib.request.urlopen(req, timeout=10)
releases = json.loads(resp.read().decode())
# Map release versions to published dates so we can surface them later
for rel in releases: