chore(packaging): CI + package guards for the Windows frame-copy helper

Package validation now requires iptvnator_mpv_helper.exe and the frame
reader next to the addon on win32 (mirroring darwin); the after-pack hook
resolves the .exe name and skips the POSIX execute-bit fixup there. The
build-and-make win32 dist check asserts the helper, the reader and an mpv
DLL beside the helper at the native/ top level. The dist asset copy stops
shipping MSVC intermediates (pdb/iobj/ipdb/ilk/exp/obj) and build-time
import libraries (.lib/.dll.a) — the runtime DLLs are what packages need.
The release-files regex in the identity test tolerates CRLF so the suite
stays host-agnostic on Windows checkouts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
4grayandClaude Fable 5 authored and 4gray committed 2026-07-15 20:44:54 +02:00
1 parent b04448636c
commit 41bedb67ad
4 files changed
+67 -8

No files matched your search

+6
View File
@@ -323,6 +323,12 @@ jobs:
;;
win32)
test -f dist/apps/electron-backend/native/lib/mpv-2.dll || test -f dist/apps/electron-backend/native/lib/libmpv-2.dll || test -f dist/apps/electron-backend/native/lib/mpv.dll || test -f dist/apps/electron-backend/native/lib/libmpv.dll
# Frame-copy engine artifacts ship on Windows. The helper
# resolves the mpv DLL from its own directory, so the DLL
# must sit beside it at the native/ top level too.
test -f dist/apps/electron-backend/native/iptvnator_mpv_helper.exe
test -f dist/apps/electron-backend/native/embedded_mpv_frame_reader.node
find dist/apps/electron-backend/native -maxdepth 1 \( -name 'mpv-2.dll' -o -name 'libmpv-2.dll' -o -name 'mpv.dll' -o -name 'libmpv.dll' \) -print -quit | grep -q .
;;
linux)
node -e "const manifest = require('./dist/apps/electron-backend/native/embedded-mpv-runtime.json'); if (manifest.origin !== 'external-mpv-process') { throw new Error('Linux embedded MPV manifest must use external-mpv-process origin.'); }"