diff --git a/.forgejo/workflows/build-appimage.yml b/.forgejo/workflows/build-appimage.yml index ffec8c8..eff884b 100644 --- a/.forgejo/workflows/build-appimage.yml +++ b/.forgejo/workflows/build-appimage.yml @@ -1,5 +1,6 @@ # Claude Desktop — AppImage Build Pipeline # Triggert bei [appimage] im Commit oder bei Release-Tags (v*) +# Runner: data-it/forgejo-runner mit Rust + GTK vorinstalliert name: Build AppImage @@ -14,40 +15,17 @@ jobs: build: runs-on: docker if: contains(github.event.head_commit.message, '[appimage]') || startsWith(github.ref, 'refs/tags/v') - container: - image: rust:1.83-bookworm - options: --dns 8.8.8.8 --dns 1.1.1.1 steps: - - name: Configure DNS Fallback - run: | - # DNS-Fix für DinD-Umgebung - echo "nameserver 8.8.8.8" >> /etc/resolv.conf - echo "nameserver 1.1.1.1" >> /etc/resolv.conf - - name: Checkout run: | git clone --depth 1 --branch "${GITHUB_REF_NAME}" \ "https://oauth2:${{ secrets.REGISTRY_TOKEN }}@git.data-it-solution.de/${GITHUB_REPOSITORY}.git" . - - name: Install Node.js + - name: Show Rust Version run: | - curl -fsSL https://deb.nodesource.com/setup_22.x | bash - - apt-get install -y nodejs - - - name: Install System Dependencies - run: | - apt-get update - apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libappindicator3-dev \ - librsvg2-dev \ - patchelf \ - libssl-dev \ - libgtk-3-dev \ - libayatana-appindicator3-dev \ - file \ - wget + rustc --version + cargo --version - name: Install npm packages run: npm ci @@ -64,6 +42,33 @@ jobs: echo "version=${VERSION}" >> $GITHUB_OUTPUT echo "Version: ${VERSION}" + - name: Upload to Package Registry + run: | + APPIMAGE=$(ls src-tauri/target/release/bundle/appimage/*.AppImage | head -1) + FILENAME=$(basename "$APPIMAGE") + 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 \ + --user "data:${{ secrets.REGISTRY_TOKEN }}" \ + "https://git.data-it-solution.de/api/packages/data/generic/claude-desktop/latest/${FILENAME}" || true + + # Versioniert hochladen + curl -s -X PUT \ + --user "data:${{ secrets.REGISTRY_TOKEN }}" \ + --upload-file "$APPIMAGE" \ + "https://git.data-it-solution.de/api/packages/data/generic/claude-desktop/${VERSION}/${FILENAME}" + + # Latest hochladen + curl -s -X PUT \ + --user "data:${{ secrets.REGISTRY_TOKEN }}" \ + --upload-file "$APPIMAGE" \ + "https://git.data-it-solution.de/api/packages/data/generic/claude-desktop/latest/${FILENAME}" + + echo "Upload abgeschlossen: ${FILENAME} (v${VERSION})" + - name: Upload to Release if: startsWith(github.ref, 'refs/tags/v') run: |