INNER CODE UNIT · Python

cleanup_releases

keiyoushi/extensions-source · .github/scripts/cleanup-releases.py:98

def cleanup_releases(referenced: set[str]) -> tuple[int, int]:
    deleted_assets = 0
    deleted_releases = 0
    releases = get_pages(f"repos/{REPO_NAME}/releases")

    for release in releases:
        assets = get_pages(f"repos/{REPO_NAME}/releases/{release['id']}/assets")

        # Fast path: every asset is unreferenced -> delete the release in one call,
        # which takes the assets with it.
        if assets and not any(
            asset["browser_download_url"] in referenced for asset in assets
        ):
            print(
                f"Deleting release {release['tag_name']} "
                f"({len(assets)} unreferenced assets)"
            )
            run_gh(

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…