1+ name : CMake build (SDK)
2+
3+ jobs :
4+ build :
5+ name : " SDK ${{ matrix.config.name }} ${{ matrix.version }}"
6+ runs-on : ${{ matrix.config.os }}
7+ strategy :
8+ fail-fast : false
9+ matrix :
10+ version : [ "latest", "continuous" ]
11+ config :
12+ - {
13+ name : " Windows" ,
14+ os : windows-latest,
15+ dependencies : " curl -L -O https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-win.zip && unzip ninja-win.zip" ,
16+ additional_flags : " -GNinja"
17+ }
18+ - {
19+ name : " Ubuntu" ,
20+ os : ubuntu-latest,
21+ dependencies : " sudo apt install -yqq libgl-dev libgl1-mesa-dev libegl1-mesa-dev libdrm-dev libxcomposite-dev libxkbcommon-dev libxkbcommon-x11-dev libwayland-dev libxcb-*-dev libX11-*-dev libz-dev libtinfo6 libxext-dev" ,
22+ additional_flags : " "
23+ }
24+ - {
25+ name : " macOS" ,
26+ os : macos-latest,
27+ dependencies : " " ,
28+ additional_flags : " "
29+ }
30+ steps :
31+ - uses : maxim-lobanov/setup-xcode@v1
32+ with :
33+ xcode-version : ' >=16'
34+
35+ - name : Checkout addon
36+ uses : actions/checkout@v4
37+ with :
38+ submodules : " recursive"
39+ path : addon
40+
41+ - name : Install dependencies
42+ if : matrix.config.dependencies != ''
43+ shell : bash
44+ run : |
45+ ${{ matrix.config.dependencies }}
46+
47+ - name : Download OSSIA SDK
48+ uses : ossia/actions/download-ossia-sdk@master
49+ id : ossia-sdk
50+
51+ - name : Download Score SDK
52+ uses : ossia/actions/download-score-sdk@master
53+ id : score-sdk
54+ with :
55+ version : " ${{ matrix.version }}"
56+ extract-path : " ${{ runner.temp }}/sdk"
57+
58+ - name : Build debug
59+ uses : ossia/actions/build-addon@master
60+ with :
61+ addon-path : addon
62+ build-type : Debug
63+ score-sdk-path : ${{ steps.score-sdk.outputs.sdk-path }}
64+ ossia-sdk-path : ${{ steps.ossia-sdk.outputs.sdk-path }}
65+ additional-flags : ${{ matrix.config.additional_flags }}
66+
67+ - name : Build release
68+ uses : ossia/actions/build-addon@master
69+ with :
70+ addon-path : addon
71+ build-type : Release
72+ score-sdk-path : ${{ steps.score-sdk.outputs.sdk-path }}
73+ ossia-sdk-path : ${{ steps.ossia-sdk.outputs.sdk-path }}
74+ additional-flags : ${{ matrix.config.additional_flags }}
75+
76+ - name : Upload release
77+ uses : actions/upload-artifact@v4
78+ with :
79+ name : plugin-${{ matrix.config.os }}
80+ path : |
81+ install/*
82+
83+ package :
84+ name : Package
85+ needs : build
86+ runs-on : ubuntu-latest
87+ steps :
88+ - name : Checkout addon
89+ uses : actions/checkout@v4
90+ with :
91+ submodules : " recursive"
92+
93+ - name : Package addon
94+ uses : ossia/actions/package-addon@master
95+
96+ - name : Upload package
97+ uses : actions/upload-artifact@v4
98+ with :
99+ name : plugin
100+ path : deploy
0 commit comments