@@ -271,6 +271,27 @@ jobs:
271271 path : scheduler/src/main/resources/nucleus/native/win32-*/
272272 retention-days : 1
273273
274+ - name : Build media-control Windows DLLs
275+ shell : cmd
276+ run : call media-control\src\main\native\windows\build.bat
277+
278+ - name : Verify media-control Windows natives
279+ shell : bash
280+ run : |
281+ for f in \
282+ media-control/src/main/resources/nucleus/native/win32-x64/nucleus_media_control_windows.dll \
283+ media-control/src/main/resources/nucleus/native/win32-aarch64/nucleus_media_control_windows.dll; do
284+ if [ ! -f "$f" ]; then echo "MISSING: $f" >&2; exit 1; fi
285+ echo "OK: $f ($(wc -c < "$f") bytes)"
286+ done
287+
288+ - name : Upload media-control Windows DLLs
289+ uses : actions/upload-artifact@v4
290+ with :
291+ name : media-control-windows
292+ path : media-control/src/main/resources/nucleus/native/win32-*/
293+ retention-days : 1
294+
274295 macos :
275296 runs-on : macos-latest
276297 steps :
@@ -568,6 +589,25 @@ jobs:
568589 path : system-info/src/main/resources/nucleus/native/darwin-*/
569590 retention-days : 1
570591
592+ - name : Build media-control macOS dylibs
593+ run : bash media-control/src/main/native/macos/build.sh
594+
595+ - name : Verify media-control macOS natives
596+ run : |
597+ for f in \
598+ media-control/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_media_control_macos.dylib \
599+ media-control/src/main/resources/nucleus/native/darwin-x64/libnucleus_media_control_macos.dylib; do
600+ if [ ! -f "$f" ]; then echo "MISSING: $f" >&2; exit 1; fi
601+ echo "OK: $f ($(wc -c < "$f") bytes)"
602+ done
603+
604+ - name : Upload media-control macOS dylibs
605+ uses : actions/upload-artifact@v4
606+ with :
607+ name : media-control-macos
608+ path : media-control/src/main/resources/nucleus/native/darwin-*/
609+ retention-days : 1
610+
571611 linux :
572612 runs-on : ${{ matrix.os }}
573613 strategy :
@@ -766,3 +806,19 @@ jobs:
766806 name : scheduler-linux-${{ matrix.arch }}
767807 path : scheduler/src/main/resources/nucleus/native/linux-*/
768808 retention-days : 1
809+
810+ - name : Build media-control Linux native shared library
811+ run : bash media-control/src/main/native/linux/build.sh
812+
813+ - name : Verify media-control Linux native
814+ run : |
815+ f="media-control/src/main/resources/nucleus/native/linux-${{ matrix.arch }}/libnucleus_media_control_linux.so"
816+ if [ ! -f "$f" ]; then echo "MISSING: $f" >&2; exit 1; fi
817+ echo "OK: $f ($(wc -c < "$f") bytes)"
818+
819+ - name : Upload media-control Linux shared library
820+ uses : actions/upload-artifact@v4
821+ with :
822+ name : media-control-linux-${{ matrix.arch }}
823+ path : media-control/src/main/resources/nucleus/native/linux-*/
824+ retention-days : 1
0 commit comments