name: Build Native Libraries on: push: paths: - '**.cpp' - '**.h' - '**.mm' - '**.yml' - '**gradle.*' pull_request: paths: - '**.cpp' - '**.h' - '**.mm' - '**.yml' - '**gradle.*' release: types: - published schedule: - cron: '0 0 1 * *' jobs: windows: name: Windows (Java 17) runs-on: windows-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 10 - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: 17 - name: Build run: ./gradlew :auto-dark-mode-windows:build --full-stacktrace -PskipSpotless - name: Upload x86 artifact uses: actions/upload-artifact@v4 with: name: windows-x86 path: windows/build/libs/main/x86/auto-dark-mode-windows.dll - name: Upload x86-64 artifact uses: actions/upload-artifact@v4 with: name: windows-x86-64 path: windows/build/libs/main/x86-64/auto-dark-mode-windows.dll macOS: name: macOS (Java 17) runs-on: macos-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 10 - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: 17 - name: Build run: ./gradlew :auto-dark-mode-macos:build --full-stacktrace -PmacOSciModeFix -PskipSpotless - name: Upload x86-64 artifact uses: actions/upload-artifact@v4 with: name: macos-x86-64 path: macos/build/libs/main/x86-64/libauto-dark-mode-macos.dylib - name: Upload arm64 artifact uses: actions/upload-artifact@v4 with: name: macos-arm64 path: macos/build/libs/main/arm64/libauto-dark-mode-macos.dylib - name: Print x86-64 library information run: otool -l macos/build/libs/main/x86-64/libauto-dark-mode-macos.dylib && file macos/build/libs/main/x86-64/libauto-dark-mode-macos.dylib - name: Print arm64 library information run: otool -l macos/build/libs/main/arm64/libauto-dark-mode-macos.dylib && file macos/build/libs/main/arm64/libauto-dark-mode-macos.dylib - name: Upload build log if: always() uses: actions/upload-artifact@v4 with: name: build_logs path: macos/build/tmp linux-gtk: name: Linux (Gtk) (Java 17) runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v4 with: fetch-depth: 10 - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: 17 - name: Apt update run: sudo apt-get update - name: Install libsigc++ and glibmm run: sudo apt-get install -y libsigc++-2.0-dev libglibmm-2.4-dev libgtk-3-dev libgtkmm-3.0-dev --fix-missing - name: Build run: ./gradlew :auto-dark-mode-linux-gtk:build --full-stacktrace -PskipSpotless - name: Upload artifact uses: actions/upload-artifact@v4 with: name: linux-x86-64 path: linux/gtk/build/libs/main/libauto-dark-mode-linux-gtk.so