Refactor: Use an interface for dark mode detector #511
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test GraalVM Native Image | |
| on: | |
| pull_request: | |
| branches: | |
| - '*' | |
| concurrency: | |
| group: test-graalvm-${{ github.head_ref || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-natives: | |
| uses: ./.github/workflows/build-natives.yaml | |
| graalvm: | |
| needs: build-natives | |
| name: GraalVM - ${{ matrix.name }} | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Linux x64 | |
| os: ubuntu-latest | |
| - name: macOS ARM64 | |
| os: macos-latest | |
| - name: Windows x64 | |
| os: windows-latest | |
| steps: | |
| - name: Checkout Repo | |
| uses: actions/checkout@v4 | |
| - name: Download darkmode-detector native artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: darkmode-detector/src/main/resources/nucleus/native/ | |
| pattern: '*-natives*' | |
| merge-multiple: true | |
| - name: Download native-ssl artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: native-ssl/src/main/resources/nucleus/native/ | |
| pattern: 'ssl-*' | |
| merge-multiple: true | |
| - name: Download decorated-window-jbr artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: decorated-window-jbr/src/main/resources/nucleus/native/ | |
| pattern: 'decorated-window-jbr-*' | |
| merge-multiple: true | |
| - name: Download decorated-window-jni artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: decorated-window-jni/src/main/resources/nucleus/native/ | |
| pattern: 'decorated-window-jni-*' | |
| merge-multiple: true | |
| - name: Download decorated-window-core artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: decorated-window-core/src/main/resources/nucleus/native/ | |
| pattern: 'decorated-window-core-*' | |
| merge-multiple: true | |
| - name: Download linux-hidpi artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: linux-hidpi/src/main/resources/nucleus/native/ | |
| pattern: 'linux-hidpi-*' | |
| merge-multiple: true | |
| - name: Download system-color artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: system-color/src/main/resources/nucleus/native/ | |
| pattern: 'system-color-*' | |
| merge-multiple: true | |
| - name: Download energy-manager artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: energy-manager/src/main/resources/nucleus/native/ | |
| pattern: 'energy-manager-*' | |
| merge-multiple: true | |
| - name: Download taskbar-progress artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: taskbar-progress/src/main/resources/nucleus/native/ | |
| pattern: 'taskbar-progress-*' | |
| merge-multiple: true | |
| - name: Download notification-macos artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: notification-macos/src/main/resources/nucleus/native/ | |
| pattern: 'notification-macos*' | |
| merge-multiple: true | |
| - name: Download service-management-macos artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: service-management-macos/src/main/resources/nucleus/native/ | |
| pattern: 'service-management-macos*' | |
| merge-multiple: true | |
| - name: Download notification-linux artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: notification-linux/src/main/resources/nucleus/native/ | |
| pattern: 'notification-linux-*' | |
| merge-multiple: true | |
| - name: Download notification-windows artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: notification-windows/src/main/resources/nucleus/native/ | |
| pattern: 'notification-windows*' | |
| merge-multiple: true | |
| - name: Download autolaunch artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: autolaunch/src/main/resources/nucleus/native/ | |
| pattern: 'autolaunch*' | |
| merge-multiple: true | |
| - name: Download launcher-windows artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: launcher-windows/src/main/resources/nucleus/native/ | |
| pattern: 'launcher-windows*' | |
| merge-multiple: true | |
| - name: Download launcher-linux artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: launcher-linux/src/main/resources/nucleus/native/ | |
| pattern: 'launcher-linux-*' | |
| merge-multiple: true | |
| - name: Download launcher-macos artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: launcher-macos/src/main/resources/nucleus/native/ | |
| pattern: 'launcher-macos*' | |
| merge-multiple: true | |
| - name: Download global-hotkey artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: global-hotkey/src/main/resources/nucleus/native/ | |
| pattern: 'global-hotkey-*' | |
| merge-multiple: true | |
| - name: Download menu-macos artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: menu-macos/src/main/resources/nucleus/native/ | |
| pattern: 'menu-macos*' | |
| merge-multiple: true | |
| - name: Download system-info artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: system-info/src/main/resources/nucleus/native/ | |
| pattern: 'system-info-*' | |
| merge-multiple: true | |
| - name: Download scheduler artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: scheduler/src/main/resources/nucleus/native/ | |
| pattern: 'scheduler-*' | |
| merge-multiple: true | |
| - name: Download media-control artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: media-control/src/main/resources/nucleus/native/ | |
| pattern: 'media-control-*' | |
| merge-multiple: true | |
| - name: Setup Nucleus (GraalVM) | |
| uses: ./.github/actions/setup-nucleus | |
| with: | |
| graalvm: 'true' | |
| setup-gradle: 'true' | |
| setup-node: 'false' | |
| - name: Build GraalVM native image | |
| shell: bash | |
| run: ./gradlew :example:packageGraalvmNative -PnativeMarch=compatibility --no-daemon --stacktrace | |
| - name: Upload GraalVM artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: graalvm-${{ runner.os }} | |
| path: | | |
| example/build/compose/tmp/**/graalvm/output/** | |
| if-no-files-found: warn |