Engine-Update-Fix: neueste Release MIT Vulkan-Asset waehlen (404 vermeiden)
Ursache des fehlgeschlagenen Engine-Updates: die allerneueste llama.cpp-Release traegt oft noch KEINE CI-Binaries (0 Assets). update-engine.sh lud aber stur von releases/latest → 404 „Download fehlgeschlagen". Fix: - update-engine.sh: nimmt die neueste Release, die wirklich ein ubuntu-vulkan-x64.tar.gz traegt, und nutzt dessen echte browser_download_url (robust gegen Namensaenderungen). - maintenance.py: _engine_update_available + engine_update_details pruefen jetzt ebenfalls gegen die neueste ASSET-tragende Release → das Badge luegt nicht mehr („verfuegbar", aber Download 404). Verifiziert: aufgeloeste URL liefert HTTP 200. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+11
-6
@@ -26,16 +26,21 @@ replace_dir(){
|
||||
[ -x "$VULKAN_DIR/llama-server" ]
|
||||
}
|
||||
|
||||
# 1. Release ermitteln + laden (vor jedem Eingriff am laufenden System)
|
||||
# 1. Release ermitteln + laden (vor jedem Eingriff am laufenden System).
|
||||
# ACHTUNG: Die ALLERNEUESTE Release traegt oft noch keine CI-Binaries (0 Assets) → ihr
|
||||
# Download-Link 404t. Darum NICHT stumpf releases/latest nehmen, sondern die neueste
|
||||
# Release, die WIRKLICH ein `ubuntu-vulkan-x64.tar.gz`-Asset hat, und dessen echte
|
||||
# browser_download_url direkt verwenden (robust auch gegen kuenftige Namensaenderungen).
|
||||
ASSET_RX='ubuntu-vulkan-x64\.tar\.gz$'
|
||||
if [ -n "$PIN_BUILD" ]; then
|
||||
TAG="$PIN_BUILD"
|
||||
URL="https://github.com/ggml-org/llama.cpp/releases/download/${TAG}/llama-${TAG}-bin-ubuntu-vulkan-x64.tar.gz"
|
||||
else
|
||||
TAG="$(curl -s https://api.github.com/repos/ggml-org/llama.cpp/releases/latest | jq -r .tag_name)"
|
||||
REL_JSON="$(curl -s 'https://api.github.com/repos/ggml-org/llama.cpp/releases?per_page=15')"
|
||||
URL="$(printf '%s' "$REL_JSON" | jq -r --arg rx "$ASSET_RX" '[.[] | .assets[]? | select(.name|test($rx))][0].browser_download_url // empty')"
|
||||
TAG="$(printf '%s' "$REL_JSON" | jq -r --arg rx "$ASSET_RX" '[.[] | select(any(.assets[]?; .name|test($rx)))][0].tag_name // empty')"
|
||||
fi
|
||||
[ -n "$TAG" ] && [ "$TAG" != "null" ] || die "Konnte neuesten Release-Tag nicht ermitteln"
|
||||
|
||||
ASSET="llama-${TAG}-bin-ubuntu-vulkan-x64.tar.gz"
|
||||
URL="https://github.com/ggml-org/llama.cpp/releases/download/${TAG}/${ASSET}"
|
||||
[ -n "$URL" ] && [ "$URL" != "null" ] || die "Kein Vulkan-x64-Build in den letzten Releases gefunden (404-Schutz)"
|
||||
TMP="$(mktemp -d)"
|
||||
trap 'rm -rf "$TMP"' EXIT
|
||||
|
||||
|
||||
Reference in New Issue
Block a user