diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e873b42a..c71b70f4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -128,6 +128,25 @@ jobs: with: releaseId: ${{ needs.create-release.outputs.release_id }} args: ${{ matrix.settings.args }} + - name: upload updater signature (macOS only) + if: runner.os == 'macOS' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + VERSION=${{ needs.create-release.outputs.package_version }} + SIG=$(find src-tauri/target -path '*/release/bundle/macos/*.app.tar.gz.sig' | head -1) + if [ -z "$SIG" ]; then + echo "::error::No .sig file found under src-tauri/target/*/release/bundle/macos/" + exit 1 + fi + echo "Found signature: $SIG" + if echo "$SIG" | grep -q 'aarch64-apple-darwin'; then + DST="Psysonic_aarch64.app.tar.gz.sig" + else + DST="Psysonic_x64.app.tar.gz.sig" + fi + cp "$SIG" "$DST" + gh release upload "app-v${VERSION}" "$DST" --clobber generate-manifest: needs: [create-release, build-macos-windows] diff --git a/CHANGELOG.md b/CHANGELOG.md index 5422640e..094d5691 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 > > **🎉 macOS users:** Starting with **v1.34.15**, Psysonic can **update itself silently**. No more DMG downloading and dragging to Applications — the updater fetches the signed `.app` bundle, verifies the signature, replaces the app in place, and relaunches. Just click "Update" when the toast appears. +## [1.34.16] - 2026-04-18 + +### Fixed + +- **CI — Updater signature upload** *(by [@Psychotoxical](https://github.com/Psychotoxical))*: tauri-action on macOS produces the `.app.tar.gz.sig` minisign signature locally but does not upload it as a release asset for cross-target builds, which caused the `latest.json` manifest generator to fail (no signature to embed). An explicit post-build step now finds the `.sig` under `src-tauri/target/*/release/bundle/macos/` and uploads it with the expected filename (`Psysonic_aarch64.app.tar.gz.sig` / `Psysonic_x64.app.tar.gz.sig`). + ## [1.34.15] - 2026-04-18 ### Added diff --git a/package.json b/package.json index c1423e3f..21bf8b47 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "psysonic", - "version": "1.34.15", + "version": "1.34.16", "private": true, "scripts": { "dev": "vite", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index a495fe91..e2a55191 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -3653,7 +3653,7 @@ dependencies = [ [[package]] name = "psysonic" -version = "1.34.15" +version = "1.34.16" dependencies = [ "biquad", "discord-rich-presence", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index ca35e38e..594aaf5b 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "psysonic" -version = "1.34.15" +version = "1.34.16" description = "Psysonic Desktop Music Player" authors = [] license = "" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index cde72ae5..7cee5eb3 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Psysonic", - "version": "1.34.15", + "version": "1.34.16", "identifier": "dev.psysonic.player", "build": { "beforeDevCommand": "npm run dev",