From 10f44db49c74827787e39080d4d52f1b9035ea05 Mon Sep 17 00:00:00 2001 From: Jackson Goode <54308792+jacksongoode@users.noreply.github.com> Date: Sun, 23 Nov 2025 21:37:55 +0900 Subject: [PATCH 1/4] Reorder steps and write with the universal version --- .github/workflows/build.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1c5a03f1..5ea98d88 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -104,19 +104,19 @@ jobs: if: runner.os == 'macOS' && !steps.cache-tools.outputs.cache-hit run: brew install create-dmg - - name: Create macOS universal binary - if: runner.os == 'macOS' - run: | - mkdir -p psst-gui/target/release - lipo -create -output psst-gui/target/release/psst-gui \ - target/x86_64-apple-darwin/release/psst-gui \ - target/aarch64-apple-darwin/release/psst-gui - - name: Bundle macOS Release if: runner.os == 'macOS' run: cargo bundle --release working-directory: psst-gui + - name: Create macOS universal binary + if: runner.os == 'macOS' + run: | + lipo -create -output ../target/release/bundle/osx/Psst.app/Contents/MacOS/Psst \ + ../target/x86_64-apple-darwin/release/psst-gui \ + ../target/aarch64-apple-darwin/release/psst-gui + working-directory: psst-gui + - name: Create DMG if: runner.os == 'macOS' run: | From 0e68ee121714a4b211ba1058e7fa58ace45df0e6 Mon Sep 17 00:00:00 2001 From: Jackson Goode <54308792+jacksongoode@users.noreply.github.com> Date: Fri, 19 Dec 2025 23:45:19 +0900 Subject: [PATCH 2/4] Explicitly target older mac and with intel runner? --- .github/workflows/build.yml | 26 +++++++++++++++++--------- psst-gui/Cargo.toml | 1 + 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5ea98d88..e9cfe3f8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} env: - MACOSX_DEPLOYMENT_TARGET: 11.0 + MACOSX_DEPLOYMENT_TARGET: 10.13 steps: - name: Checkout Repository uses: actions/checkout@v4 @@ -91,7 +91,6 @@ jobs: path: | ~/.cargo/bin/cargo-bundle ~/Library/Caches/Homebrew - /usr/local/Cellar/create-dmg key: ${{ runner.os }}-tools-${{ hashFiles('**/Cargo.lock', '.github/workflows/build.yml') }} restore-keys: | ${{ runner.os }}-tools- @@ -101,26 +100,35 @@ jobs: run: cargo install cargo-bundle - name: Install create-dmg - if: runner.os == 'macOS' && !steps.cache-tools.outputs.cache-hit + if: runner.os == 'macOS' run: brew install create-dmg + - name: Create macOS universal binary + if: runner.os == 'macOS' + run: | + mkdir -p target/release + lipo -create \ + -arch x86_64 target/x86_64-apple-darwin/release/psst-gui \ + -arch arm64 target/aarch64-apple-darwin/release/psst-gui \ + -output target/release/psst-gui + file target/release/psst-gui + - name: Bundle macOS Release if: runner.os == 'macOS' + env: + CARGO_BUNDLE_SKIP_BUILD: "true" + MACOSX_DEPLOYMENT_TARGET: 10.13 run: cargo bundle --release working-directory: psst-gui - - name: Create macOS universal binary + - name: Verify Bundle Architecture if: runner.os == 'macOS' - run: | - lipo -create -output ../target/release/bundle/osx/Psst.app/Contents/MacOS/Psst \ - ../target/x86_64-apple-darwin/release/psst-gui \ - ../target/aarch64-apple-darwin/release/psst-gui + run: file ../target/release/bundle/osx/Psst.app/Contents/MacOS/Psst working-directory: psst-gui - name: Create DMG if: runner.os == 'macOS' run: | - brew install create-dmg create-dmg \ --volname "Psst" \ --volicon "assets/logo.icns" \ diff --git a/psst-gui/Cargo.toml b/psst-gui/Cargo.toml index 18811769..59244c1e 100644 --- a/psst-gui/Cargo.toml +++ b/psst-gui/Cargo.toml @@ -63,6 +63,7 @@ name = "Psst" identifier = "com.jpochyla.psst" icon = ["assets/logo.icns"] version = "0.1.0" +osx_minimum_system_version = "10.13" resources = [] copyright = "Copyright (c) Jan Pochyla 2024. All rights reserved." category = "Music" From 547d738f4bbed257d8b9d435cd6d9774ff4e23b3 Mon Sep 17 00:00:00 2001 From: Jackson Goode <54308792+jacksongoode@users.noreply.github.com> Date: Sat, 20 Dec 2025 00:35:46 +0900 Subject: [PATCH 3/4] Quiet brew, clean up bundle, proper paths --- .github/workflows/build.yml | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e9cfe3f8..d743d9c6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -101,7 +101,7 @@ jobs: - name: Install create-dmg if: runner.os == 'macOS' - run: brew install create-dmg + run: brew install -q create-dmg - name: Create macOS universal binary if: runner.os == 'macOS' @@ -117,21 +117,17 @@ jobs: if: runner.os == 'macOS' env: CARGO_BUNDLE_SKIP_BUILD: "true" - MACOSX_DEPLOYMENT_TARGET: 10.13 - run: cargo bundle --release - working-directory: psst-gui - - - name: Verify Bundle Architecture - if: runner.os == 'macOS' - run: file ../target/release/bundle/osx/Psst.app/Contents/MacOS/Psst - working-directory: psst-gui + run: | + rm -rf target/release/bundle + cargo bundle --release -p psst-gui + file target/release/bundle/osx/Psst.app/Contents/MacOS/* - name: Create DMG if: runner.os == 'macOS' run: | create-dmg \ --volname "Psst" \ - --volicon "assets/logo.icns" \ + --volicon "psst-gui/assets/logo.icns" \ --window-pos 200 120 \ --window-size 600 400 \ --icon-size 100 \ @@ -139,15 +135,14 @@ jobs: --hide-extension "Psst.app" \ --app-drop-link 450 160 \ "Psst.dmg" \ - "../target/release/bundle/osx/Psst.app" - working-directory: psst-gui + "target/release/bundle/osx/Psst.app" - name: Upload macOS DMG uses: actions/upload-artifact@v4 if: runner.os == 'macOS' with: name: Psst.dmg - path: ./psst-gui/Psst.dmg + path: Psst.dmg - name: Make Linux Binary Executable if: runner.os == 'Linux' From 49d8032a284c616039af998b2294c5dd7287681b Mon Sep 17 00:00:00 2001 From: Jackson Goode <54308792+jacksongoode@users.noreply.github.com> Date: Sat, 20 Dec 2025 23:29:56 +0900 Subject: [PATCH 4/4] Cleanup --- .github/workflows/build.yml | 5 +---- psst-gui/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d743d9c6..8c6c5a66 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} env: - MACOSX_DEPLOYMENT_TARGET: 10.13 + MACOSX_DEPLOYMENT_TARGET: 11.0 steps: - name: Checkout Repository uses: actions/checkout@v4 @@ -111,16 +111,13 @@ jobs: -arch x86_64 target/x86_64-apple-darwin/release/psst-gui \ -arch arm64 target/aarch64-apple-darwin/release/psst-gui \ -output target/release/psst-gui - file target/release/psst-gui - name: Bundle macOS Release if: runner.os == 'macOS' env: CARGO_BUNDLE_SKIP_BUILD: "true" run: | - rm -rf target/release/bundle cargo bundle --release -p psst-gui - file target/release/bundle/osx/Psst.app/Contents/MacOS/* - name: Create DMG if: runner.os == 'macOS' diff --git a/psst-gui/Cargo.toml b/psst-gui/Cargo.toml index 59244c1e..60b29cb5 100644 --- a/psst-gui/Cargo.toml +++ b/psst-gui/Cargo.toml @@ -63,7 +63,7 @@ name = "Psst" identifier = "com.jpochyla.psst" icon = ["assets/logo.icns"] version = "0.1.0" -osx_minimum_system_version = "10.13" +osx_minimum_system_version = "11.0" resources = [] copyright = "Copyright (c) Jan Pochyla 2024. All rights reserved." category = "Music"