Use attachment URLs for release runtime staging
This commit is contained in:
@@ -54,9 +54,12 @@ def release_metadata(base_url: str, repo: str, tag: str, token: str | None) -> d
|
||||
return api_json(base_url, repo, f"/releases/tags/{escaped}", token)
|
||||
|
||||
|
||||
def asset_download_url(release: dict, asset_name: str) -> str:
|
||||
def asset_download_url(base_url: str, release: dict, asset_name: str, token: str | None) -> str:
|
||||
for asset in release.get("assets", []):
|
||||
if asset.get("name") == asset_name:
|
||||
asset_uuid = asset.get("uuid")
|
||||
if asset_uuid and token:
|
||||
return f"{base_url}/attachments/{asset_uuid}"
|
||||
return asset["browser_download_url"]
|
||||
raise SystemExit(f"Asset '{asset_name}' not found in release {release.get('tag_name')}")
|
||||
|
||||
@@ -117,11 +120,11 @@ def stage_linux(base_url: str, monero_c_tag: str, peya_tag: str, token: str | No
|
||||
ensure_clean_dir(daemon_dir)
|
||||
|
||||
monero_asset = "x86_64-linux-gnu_libwallet2_api_c.so.xz"
|
||||
monero_url = asset_download_url(monero_release, monero_asset)
|
||||
monero_url = asset_download_url(base_url, monero_release, monero_asset, token)
|
||||
download_xz_asset(monero_url, runtime_dir / "libwallet2_api_c.so", token)
|
||||
|
||||
peya_asset = f"peya-{peya_release['tag_name']}-x86_64-linux-gnu.tar.gz"
|
||||
peya_url = asset_download_url(peya_release, peya_asset)
|
||||
peya_url = asset_download_url(base_url, peya_release, peya_asset, token)
|
||||
extract_member_from_tar(peya_url, "peyad", daemon_dir / "peyad", token)
|
||||
|
||||
print(f"Staged Linux runtime from monero_c {monero_release['tag_name']} and Peya {peya_release['tag_name']}")
|
||||
@@ -142,11 +145,11 @@ def stage_windows(base_url: str, monero_c_tag: str, peya_tag: str, token: str |
|
||||
"x86_64-w64-mingw32_libssp-0.dll.xz": "libssp-0.dll",
|
||||
}
|
||||
for asset_name, output_name in windows_assets.items():
|
||||
asset_url = asset_download_url(monero_release, asset_name)
|
||||
asset_url = asset_download_url(base_url, monero_release, asset_name, token)
|
||||
download_xz_asset(asset_url, runtime_dir / output_name, token)
|
||||
|
||||
peya_asset = f"peya-{peya_release['tag_name']}-x86_64-w64-mingw32.zip"
|
||||
peya_url = asset_download_url(peya_release, peya_asset)
|
||||
peya_url = asset_download_url(base_url, peya_release, peya_asset, token)
|
||||
extract_member_from_zip(peya_url, "peyad.exe", daemon_dir / "peyad.exe", token)
|
||||
|
||||
print(f"Staged Windows runtime from monero_c {monero_release['tag_name']} and Peya {peya_release['tag_name']}")
|
||||
|
||||
Reference in New Issue
Block a user