@@ -250,6 +250,27 @@ jobs:
250250 path : system-info/src/main/resources/nucleus/native/win32-*/
251251 retention-days : 1
252252
253+ - name : Build scheduler Windows native DLLs
254+ shell : cmd
255+ run : call scheduler\src\main\native\windows\build.bat
256+
257+ - name : Verify scheduler Windows natives
258+ shell : bash
259+ run : |
260+ for f in \
261+ scheduler/src/main/resources/nucleus/native/win32-x64/nucleus_scheduler.dll \
262+ scheduler/src/main/resources/nucleus/native/win32-aarch64/nucleus_scheduler.dll; do
263+ if [ ! -f "$f" ]; then echo "MISSING: $f" >&2; exit 1; fi
264+ echo "OK: $f ($(wc -c < "$f") bytes)"
265+ done
266+
267+ - name : Upload scheduler Windows DLLs
268+ uses : actions/upload-artifact@v4
269+ with :
270+ name : scheduler-windows
271+ path : scheduler/src/main/resources/nucleus/native/win32-*/
272+ retention-days : 1
273+
253274 macos :
254275 runs-on : macos-latest
255276 steps :
@@ -414,6 +435,44 @@ jobs:
414435 path : notification-macos/src/main/resources/nucleus/native/darwin-*/
415436 retention-days : 1
416437
438+ - name : Build service-management-macos macOS dylibs
439+ run : bash service-management-macos/src/main/native/macos/build.sh
440+
441+ - name : Verify service-management-macos macOS natives
442+ run : |
443+ for f in \
444+ service-management-macos/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_service_management.dylib \
445+ service-management-macos/src/main/resources/nucleus/native/darwin-x64/libnucleus_service_management.dylib; do
446+ if [ ! -f "$f" ]; then echo "MISSING: $f" >&2; exit 1; fi
447+ echo "OK: $f ($(wc -c < "$f") bytes)"
448+ done
449+
450+ - name : Upload service-management-macos macOS dylibs
451+ uses : actions/upload-artifact@v4
452+ with :
453+ name : service-management-macos
454+ path : service-management-macos/src/main/resources/nucleus/native/darwin-*/
455+ retention-days : 1
456+
457+ - name : Build scheduler macOS dylibs
458+ run : bash scheduler/src/main/native/macos/build.sh
459+
460+ - name : Verify scheduler macOS natives
461+ run : |
462+ for f in \
463+ scheduler/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_scheduler.dylib \
464+ scheduler/src/main/resources/nucleus/native/darwin-x64/libnucleus_scheduler.dylib; do
465+ if [ ! -f "$f" ]; then echo "MISSING: $f" >&2; exit 1; fi
466+ echo "OK: $f ($(wc -c < "$f") bytes)"
467+ done
468+
469+ - name : Upload scheduler macOS dylibs
470+ uses : actions/upload-artifact@v4
471+ with :
472+ name : scheduler-macos
473+ path : scheduler/src/main/resources/nucleus/native/darwin-*/
474+ retention-days : 1
475+
417476 - name : Build launcher-macos macOS dylibs
418477 run : bash launcher-macos/src/main/native/macos/build.sh
419478
@@ -691,3 +750,19 @@ jobs:
691750 name : global-hotkey-linux-${{ matrix.arch }}
692751 path : global-hotkey/src/main/resources/nucleus/native/linux-*/
693752 retention-days : 1
753+
754+ - name : Build scheduler Linux native shared library
755+ run : bash scheduler/src/main/native/linux/build.sh
756+
757+ - name : Verify scheduler Linux native
758+ run : |
759+ f="scheduler/src/main/resources/nucleus/native/linux-${{ matrix.arch }}/libnucleus_scheduler_linux.so"
760+ if [ ! -f "$f" ]; then echo "MISSING: $f" >&2; exit 1; fi
761+ echo "OK: $f ($(wc -c < "$f") bytes)"
762+
763+ - name : Upload scheduler Linux shared library
764+ uses : actions/upload-artifact@v4
765+ with :
766+ name : scheduler-linux-${{ matrix.arch }}
767+ path : scheduler/src/main/resources/nucleus/native/linux-*/
768+ retention-days : 1
0 commit comments