diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7dc838a0..94c9d1be 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -130,17 +130,16 @@ jobs: with: releaseId: ${{ needs.create-release.outputs.release_id }} args: ${{ matrix.settings.args }} - # Disable tauri-action's own .app.tar.gz re-packaging + updater JSON - # upload — its repack overwrites the .app.tar.gz produced by tauri - # CLI and invalidates the matching .sig (the tauri-created signature - # no longer matches the repacked tarball's hash, so tauri-action - # silently drops the .sig). We upload both files ourselves below, - # and the generate-manifest job assembles latest.json. - includeUpdaterJson: false - - name: upload updater bundle + signature (macOS only) + - name: re-sign updater bundle + upload .sig (macOS only) + # tauri-action re-packs the .app into .app.tar.gz after tauri CLI is + # done, which invalidates the .sig tauri CLI created (different hash). + # We can't stop the repack (it's tied to includeUpdaterJson), so we + # sign the final repacked .tar.gz ourselves and upload the fresh .sig. if: runner.os == 'macOS' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} + TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} run: | set -e VERSION=${{ needs.create-release.outputs.package_version }} @@ -152,11 +151,15 @@ jobs: TARGET="x86_64-apple-darwin" ARCH="x64" fi - BUNDLE_DIR="src-tauri/target/${TARGET}/release/bundle/macos" - cp "${BUNDLE_DIR}/Psysonic.app.tar.gz" "Psysonic_${ARCH}.app.tar.gz" - cp "${BUNDLE_DIR}/Psysonic.app.tar.gz.sig" "Psysonic_${ARCH}.app.tar.gz.sig" + TARBALL="src-tauri/target/${TARGET}/release/bundle/macos/Psysonic.app.tar.gz" + if [ ! -f "$TARBALL" ]; then + echo "::error::Expected tarball missing: $TARBALL" + ls -la "$(dirname "$TARBALL")" || true + exit 1 + fi + npx @tauri-apps/cli signer sign "$TARBALL" + cp "${TARBALL}.sig" "Psysonic_${ARCH}.app.tar.gz.sig" gh release upload "app-v${VERSION}" \ - "Psysonic_${ARCH}.app.tar.gz" \ "Psysonic_${ARCH}.app.tar.gz.sig" \ --clobber diff --git a/package.json b/package.json index 54243fc1..1973c07b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "psysonic", - "version": "1.34.18", + "version": "1.34.19", "private": true, "scripts": { "dev": "vite", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 5b09ce12..f514ceb4 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -3653,7 +3653,7 @@ dependencies = [ [[package]] name = "psysonic" -version = "1.34.18" +version = "1.34.19" dependencies = [ "biquad", "discord-rich-presence", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 6e5d1de6..0ec8f9b6 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "psysonic" -version = "1.34.18" +version = "1.34.19" description = "Psysonic Desktop Music Player" authors = [] license = "" diff --git a/src-tauri/patches/cpal-0.15.3/src/host/coreaudio/macos/mod.rs b/src-tauri/patches/cpal-0.15.3/src/host/coreaudio/macos/mod.rs index 2ba61124..5e5ee1c4 100644 --- a/src-tauri/patches/cpal-0.15.3/src/host/coreaudio/macos/mod.rs +++ b/src-tauri/patches/cpal-0.15.3/src/host/coreaudio/macos/mod.rs @@ -33,7 +33,6 @@ use std::fmt; use std::mem; use std::os::raw::c_char; use std::ptr::null; -use std::rc::Rc; use std::slice; use std::sync::mpsc::{channel, RecvTimeoutError}; use std::sync::{Arc, Mutex}; diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index d8d3f287..99a0aa2a 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.18", + "version": "1.34.19", "identifier": "dev.psysonic.player", "build": { "beforeDevCommand": "npm run dev",