From c9f352ecbf8f3bf6ef13ec8e979a161fdeb8e6ef Mon Sep 17 00:00:00 2001 From: Eddy Date: Sun, 19 Apr 2026 23:00:01 +0200 Subject: [PATCH] [appimage] Fix Upload-Step: Leerzeichen im AppImage-Namen brach curl-URL Tauri produziert "Claude Desktop_0.1.0_amd64.AppImage" mit Leerzeichen. curl encoded URLs nicht automatisch -> malformed HTTP-Request, Step crash in 150ms beim PUT. Fix: - AppImage vor Upload zu "Claude-Desktop_..." umbenennen (tr ' ' '-') - set -e + curl --fail -sS damit echte HTTP-Fehler den Step killen - BASE-URL als Variable, weniger Wiederholung --- .forgejo/workflows/build-appimage.yml | 28 ++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/.forgejo/workflows/build-appimage.yml b/.forgejo/workflows/build-appimage.yml index e2826e0..9d64f63 100644 --- a/.forgejo/workflows/build-appimage.yml +++ b/.forgejo/workflows/build-appimage.yml @@ -45,34 +45,44 @@ jobs: - name: Upload to Package Registry run: | - APPIMAGE=$(ls src-tauri/target/release/bundle/appimage/*.AppImage | head -1) - FILENAME=$(basename "$APPIMAGE") + set -e + ORIG=$(ls src-tauri/target/release/bundle/appimage/*.AppImage | head -1) + # Tauri benennt mit "Claude Desktop_..." (Leerzeichen) -> URL-unsicher. + # Umbenennen zu "Claude-Desktop_..." vor dem Upload. + SAFE_NAME=$(basename "$ORIG" | tr ' ' '-') + APPIMAGE="$(dirname "$ORIG")/$SAFE_NAME" + mv "$ORIG" "$APPIMAGE" + FILENAME="$SAFE_NAME" VERSION=$(grep '^version' src-tauri/Cargo.toml | head -1 | sed 's/.*"\(.*\)"/\1/') echo "Lade $FILENAME (v${VERSION}) in Package Registry..." - # Latest löschen falls vorhanden - curl -s -X DELETE \ + BASE="https://git.data-it-solution.de/api/packages/data/generic/claude-desktop" + + # Latest löschen falls vorhanden (404 ist OK) + curl -sS -X DELETE \ --user "data:${{ secrets.REGISTRY_TOKEN }}" \ - "https://git.data-it-solution.de/api/packages/data/generic/claude-desktop/latest/${FILENAME}" || true + "${BASE}/latest/${FILENAME}" || true # Versioniert hochladen - curl -s -X PUT \ + curl --fail -sS -X PUT \ --user "data:${{ secrets.REGISTRY_TOKEN }}" \ --upload-file "$APPIMAGE" \ - "https://git.data-it-solution.de/api/packages/data/generic/claude-desktop/${VERSION}/${FILENAME}" + "${BASE}/${VERSION}/${FILENAME}" # Latest hochladen - curl -s -X PUT \ + curl --fail -sS -X PUT \ --user "data:${{ secrets.REGISTRY_TOKEN }}" \ --upload-file "$APPIMAGE" \ - "https://git.data-it-solution.de/api/packages/data/generic/claude-desktop/latest/${FILENAME}" + "${BASE}/latest/${FILENAME}" echo "Upload abgeschlossen: ${FILENAME} (v${VERSION})" - name: Upload to Release if: startsWith(github.ref, 'refs/tags/v') run: | + set -e + # AppImage wurde im vorherigen Step schon umbenannt (Leerzeichen -> -) APPIMAGE=$(ls src-tauri/target/release/bundle/appimage/*.AppImage | head -1) FILENAME=$(basename "$APPIMAGE") TAG="${GITHUB_REF#refs/tags/}"