Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,018 changes: 222 additions & 796 deletions .github/workflows/build-natives.yaml

Large diffs are not rendered by default.

225 changes: 14 additions & 211 deletions .github/workflows/pre-merge.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ on:
# trigger too — the single-star glob does not cross path separators.
- '**'

# Supersede in-flight runs on PR pushes; pushes to main are never cancelled
# (their run saves the caches every other workflow keys off).
concurrency:
group: pre-merge-${{ github.head_ref || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
build-natives:
uses: ./.github/workflows/build-natives.yaml
Expand All @@ -24,179 +30,10 @@ jobs:
- 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 fs-watcher artifacts
uses: actions/download-artifact@v4
with:
path: fs-watcher/src/main/resources/nucleus/native/
pattern: 'fs-watcher-*'
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
- name: Download native 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: Download decorated-window-tao artifacts
uses: actions/download-artifact@v4
with:
path: decorated-window-tao/src/main/resources/nucleus/native/
pattern: 'decorated-window-tao-*'
merge-multiple: true

- name: Download graalvm-runtime artifacts
uses: actions/download-artifact@v4
with:
path: graalvm-runtime/src/main/resources/nucleus/native/
pattern: 'graalvm-runtime-*'
pattern: 'natives-*'
merge-multiple: true

- name: Verify all natives present
Expand Down Expand Up @@ -371,11 +208,10 @@ jobs:
- name: Checkout Repo
uses: actions/checkout@v4

- name: Download decorated-window-tao artifacts
- name: Download native artifacts
uses: actions/download-artifact@v4
with:
path: decorated-window-tao/src/main/resources/nucleus/native/
pattern: 'decorated-window-tao-*'
pattern: 'natives-*'
merge-multiple: true

- name: Set up JDK 21
Expand Down Expand Up @@ -405,11 +241,10 @@ jobs:
- name: Checkout Repo
uses: actions/checkout@v4

- name: Download decorated-window-tao artifacts
- name: Download native artifacts
uses: actions/download-artifact@v4
with:
path: decorated-window-tao/src/main/resources/nucleus/native/
pattern: 'decorated-window-tao-*'
pattern: 'natives-*'
merge-multiple: true

- name: Set up JDK 21
Expand Down Expand Up @@ -481,42 +316,10 @@ jobs:
- name: Checkout Repo
uses: actions/checkout@v4

- name: Download decorated-window-tao artifacts
uses: actions/download-artifact@v4
with:
path: decorated-window-tao/src/main/resources/nucleus/native/
pattern: 'decorated-window-tao-*'
merge-multiple: true

# tao-demo's build graph pulls these modules' native-build tasks in too;
# providing the prebuilt artifacts keeps CI from compiling them (the
# runner lacks the X11 dev headers decorated-window-jni needs).
- 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 graalvm-runtime artifacts
- name: Download native artifacts
uses: actions/download-artifact@v4
with:
path: graalvm-runtime/src/main/resources/nucleus/native/
pattern: 'graalvm-runtime-*'
pattern: 'natives-*'
merge-multiple: true

- name: Set up JDK 21
Expand Down
Loading
Loading