From 318035a603910b40963d2cfa3274725b0dd4c955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 18 Jun 2025 13:29:25 +0200 Subject: [PATCH] fix: update extensions updater to use GitHub release assets The updater script now prefers GitHub release assets (.zip files) over source archives when fetching extensions marked as "release" type. This ensures extensions like AuthManagerOAuth include vendored dependencies. Fixes the underlying issue from #271 --- modules/nixos-wiki/update-extensions.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/nixos-wiki/update-extensions.py b/modules/nixos-wiki/update-extensions.py index a263ba9..4e55b3b 100755 --- a/modules/nixos-wiki/update-extensions.py +++ b/modules/nixos-wiki/update-extensions.py @@ -74,6 +74,15 @@ def get_latest_github_release_url(repo: str, extension_type: str) -> str: response = requests.get(api_url, headers=headers) response.raise_for_status() data = response.json() + + # Look for release assets first + assets = data.get("assets", []) + # Try to find a .zip asset (prefer release assets over source archives) + for asset in assets: + if asset["name"].endswith(".zip"): + return asset["browser_download_url"] + + # Fallback to source archive if no release assets found tag_name = data["tag_name"] return f"https://github.com/{repo}/archive/refs/tags/{tag_name}.zip" elif extension_type == "tag":