fix(macos): hard-fail bundle without mpv, PATH fallback, CI mpv install
- build.ts: darwin compile now exits 1 when mpv is absent — CI can no longer ship a PodTui.app without its bundled player (0.4.0 did, killing Now Playing attribution). - audio-player.ts: the bundled mpv is probed (--version) at first resolve; it links against brew's dylibs, and a Homebrew ffmpeg major upgrade can break it — fall back to PATH mpv so audio survives (icon degrades to blank instead of playback dying). Probed once per process. - release.yml: brew install mpv on darwin runners; smoke test now asserts the tarball's PodTui.app has a launchable mpv signed with the com.mikefreno.podtui identifier.
This commit is contained in:
15
.github/workflows/release.yml
vendored
15
.github/workflows/release.yml
vendored
@@ -50,7 +50,10 @@ jobs:
|
||||
- name: Install fftw (cavacore build dependency)
|
||||
run: |
|
||||
if uname -s | grep -qi darwin; then
|
||||
brew install fftw
|
||||
# mpv is required for the release bundle: build.ts copies it into
|
||||
# PodTui.app (signed with the podtui bundle identifier) so macOS
|
||||
# Now Playing shows the PodTui icon instead of a blank placeholder.
|
||||
brew install fftw mpv
|
||||
else
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libfftw3-dev
|
||||
@@ -76,6 +79,16 @@ jobs:
|
||||
printf 'preload = ["./definitely-missing.ts"]\n' > "$SMOKE_DIR/bunfig.toml"
|
||||
cd "$SMOKE_DIR"
|
||||
./podtui-*/podtui --version
|
||||
# macOS tarballs must ship PodTui.app with a working bundled mpv
|
||||
# carrying the podtui bundle identifier — otherwise Now Playing
|
||||
# attribution silently regresses to a blank icon.
|
||||
if [ "${{ matrix.plat }}" = "darwin" ]; then
|
||||
MPV=./podtui-*/PodTui.app/Contents/MacOS/mpv
|
||||
test -x $MPV || { echo "PodTui.app missing bundled mpv"; exit 1; }
|
||||
$MPV --version >/dev/null || { echo "bundled mpv does not launch"; exit 1; }
|
||||
codesign -dvv $MPV 2>&1 | grep -q "Identifier=com.mikefreno.podtui" \
|
||||
|| { echo "bundled mpv lacks podtui signing identifier"; exit 1; }
|
||||
fi
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v6
|
||||
|
||||
Reference in New Issue
Block a user