diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index 4bf1ae807..6da838518 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -104,3 +104,27 @@ jobs: - name: Build Nix desktop package run: nix build .#desktop -o result-desktop + + build-desktop-darwin: + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - uses: cachix/install-nix-action@v31 + with: + nix_path: nixpkgs=channel:nixos-unstable + + - name: Build Nix desktop package + run: nix build .#desktop -o result-desktop + + - name: Verify macOS application bundle + run: | + set -euo pipefail + + app="result-desktop/Applications/Paseo.app" + test -x "$app/Contents/MacOS/Paseo" + test -L result-desktop/bin/paseo-desktop + test "$(/usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' "$app/Contents/Info.plist")" = "sh.paseo.desktop" + find "$app" -name Info.plist -print0 | xargs -0 -n 1 plutil -lint