@@ -12,35 +12,22 @@ jobs:
1212 steps :
1313 # Firstly Checkout our Repository..
1414 - name : " Check out GoXLR Utility"
15- uses : actions/checkout@v3
15+ uses : actions/checkout@v4
1616 with :
1717 path : goxlr-utility
1818
1919 # Now Checkout the App Wrappers repository..
2020 - name : " Check out GoXLR Utility UI"
21- uses : actions/checkout@v3
21+ uses : actions/checkout@v4
2222 with :
2323 repository : frostycoolslug/goxlr-utility-ui
2424 path : goxlr-utility-ui
2525
26- # For the use of CI, we need the UI to use the 'local' version of the `goxlr-ipc` crate, rather than the latest
27- # release version, this is to allow test builds to work correctly in the event of a Status Structure change that
28- # hasn't yet been released.
29- - name : " Update Utility UI IPC Location"
30- 31- with :
32- path : " goxlr-utility-ui/src-tauri/Cargo.toml"
33- regexOptions : ' gm'
34- oldString : " ^goxlr-ipc.*$"
35- newString : " goxlr-ipc = { path = \\\" ../../goxlr-utility/ipc\\\" }"
36- showFileContent : true
37-
38-
3926 - name : " Install Rust"
4027 uses : dtolnay/rust-toolchain@stable
4128
4229 - name : " Loading Cache"
43- uses : actions/cache@v3
30+ uses : actions/cache@v4
4431 continue-on-error : false
4532 with :
4633 path : |
4936 ~/.cargo/registry/cache/
5037 ~/.cargo/git/db/
5138 goxlr-utility/target
52- key : ${{ runner.os }}-cargo-release-${{ hashFiles('** /Cargo.lock') }}
39+ key : ${{ runner.os }}-cargo-release-${{ hashFiles('goxlr-utility /Cargo.lock') }}
5340 restore-keys : ${{ runner.os }}-cargo-release-
5441
5542 - name : " Build Utility"
@@ -64,20 +51,20 @@ jobs:
6451 run : mkdir -p ${{ github.workspace }}/NSIS_Plugins/x86-unicode/
6552
6653 - name : " Downloading Tauri Utility Plugin"
67- uses : suisei-cn/actions-download-file@v1.4 .0
54+ uses : suisei-cn/actions-download-file@v1.6 .0
6855 with :
6956 url : https://github.com/tauri-apps/nsis-tauri-utils/releases/download/nsis_tauri_utils-v0.1.1/nsis_tauri_utils.dll
7057 target : ${{ github.workspace }}/NSIS_Plugins/x86-unicode/
7158
7259 - name : " Downloading WebView2 Bootstrapper"
73- uses : suisei-cn/actions-download-file@v1.4 .0
60+ uses : suisei-cn/actions-download-file@v1.6 .0
7461 with :
7562 url : https://go.microsoft.com/fwlink/p/?LinkId=2124703
7663 filename : MicrosoftEdgeWebview2Setup.exe
7764 target : goxlr-utility/ci/nsis/
7865
7966 - name : " Downloading VC Runtime"
80- uses : suisei-cn/actions-download-file@v1.4 .0
67+ uses : suisei-cn/actions-download-file@v1.6 .0
8168 with :
8269 url : https://aka.ms/vs/17/release/vc_redist.x64.exe
8370 filename : vc_redist.x64.exe
@@ -91,18 +78,18 @@ jobs:
9178 arguments : " /DPRODUCT_VERSION=${{ needs.get_version.outputs.version }}"
9279
9380 - name : " Upload Installer"
94- uses : actions/upload-artifact@v3
81+ uses : actions/upload-artifact@v4
9582 with :
9683 name : windows-artifact
9784 path : ./goxlr-utility/ci/Output/*.exe
9885
99- build :
86+ build_linux :
10087 name : " Create Linux Builds"
101- runs-on : ubuntu-latest
88+ runs-on : ubuntu-22.04
10289 needs : [get_version]
10390 steps :
10491 - name : " Check out Repository"
105- uses : actions/checkout@v3
92+ uses : actions/checkout@v4
10693
10794 - name : " Install Rust"
10895 uses : dtolnay/rust-toolchain@stable
@@ -113,7 +100,7 @@ jobs:
113100 sudo apt-get install libpulse0 libdbus-1-dev pkg-config libspeechd-dev
114101
115102 - name : " Loading Cache"
116- uses : actions/cache@v3
103+ uses : actions/cache@v4
117104 continue-on-error : false
118105 with :
119106 path : |
@@ -122,7 +109,7 @@ jobs:
122109 ~/.cargo/registry/cache/
123110 ~/.cargo/git/db/
124111 target/
125- key : ${{ runner.os }}-cargo-release-${{ hashFiles('** /Cargo.lock') }}
112+ key : ${{ runner.os }}-cargo-release-${{ hashFiles('goxlr-utility /Cargo.lock') }}
126113 restore-keys : ${{ runner.os }}-cargo-release-
127114
128115 - name : Install cargo-deb and cargo-generate-rpm
@@ -133,13 +120,106 @@ jobs:
133120 shell : bash
134121
135122 - name : " Upload DEB Artifact"
136- uses : actions/upload-artifact@v3
123+ uses : actions/upload-artifact@v4
137124 with :
138125 name : debian-artifact
139126 path : ./target/debian/*.deb
140127
141128 - name : " Upload RPM Artifact"
142- uses : actions/upload-artifact@v3
129+ uses : actions/upload-artifact@v4
143130 with :
144131 name : rpm-artifact
145132 path : ./target/generate-rpm/*.rpm
133+
134+ build_macos :
135+ name : " Create MacOS Builds"
136+ strategy :
137+ matrix :
138+ targets : [x86_64-apple-darwin, aarch64-apple-darwin]
139+ runs-on : macos-12
140+ needs : [get_version]
141+ steps :
142+ - name : " Checkout Repository"
143+ uses : actions/checkout@v4
144+ with :
145+ path : goxlr-utility
146+
147+ # Now Checkout the App Wrappers repository..
148+ - name : " Check out GoXLR Utility UI"
149+ uses : actions/checkout@v4
150+ with :
151+ repository : frostycoolslug/goxlr-utility-ui
152+ path : goxlr-utility-ui
153+
154+ - name : " Install Rust"
155+ uses : dtolnay/rust-toolchain@stable
156+
157+ - name : " Loading Cache"
158+ uses : actions/cache@v4
159+ continue-on-error : false
160+ with :
161+ path : |
162+ ~/.cargo/bin/
163+ ~/.cargo/registry/index/
164+ ~/.cargo/registry/cache/
165+ ~/.cargo/git/db/
166+ goxlr-utility/target
167+ key : ${{ runner.os }}-${{ matrix.targets }}-cargo-release-${{ hashFiles('**/Cargo.lock') }}
168+ restore-keys : ${{ runner.os }}-${{ matrix.targets }}-cargo-release-
169+
170+ - name : " Add rust target support"
171+ run : rustup target add ${{ matrix.targets }}
172+
173+ - name : " Build Package"
174+ run : ./goxlr-utility/ci/build-macos '${{ matrix.targets }}' '${{ needs.get_version.outputs.version }}'
175+ shell : bash
176+
177+ - name : " Upload MacOS zip Artifact"
178+ uses : actions/upload-artifact@v4
179+ with :
180+ name : macos-artifact-${{ matrix.targets }}
181+ path : ./macos_binaries_*.tgz
182+
183+ package_macos :
184+ name : " Package MacOS Binaries"
185+ runs-on : macos-12
186+ needs : [get_version, build_macos]
187+
188+ steps :
189+ - name : " Checkout Repository"
190+ uses : actions/checkout@v4
191+
192+ - name : " Download x86_64 Artifact"
193+ uses : actions/download-artifact@v4
194+ with :
195+ name : " macos-artifact-x86_64-apple-darwin"
196+
197+ - name : " Download aarch64 Artifact"
198+ uses : actions/download-artifact@v4
199+ with :
200+ name : " macos-artifact-aarch64-apple-darwin"
201+
202+ - name : " Install Packages App.."
203+ run : |
204+ wget http://s.sudre.free.fr/Software/files/Packages.dmg
205+ hdiutil attach Packages.dmg
206+ sudo installer -pkg /Volumes/Packages\ 1.2.10/Install\ Packages.pkg -target /
207+ - name : " Build LIPO Binaries"
208+ run : ./ci/build-macos-package '${{ needs.get_version.outputs.version }}'
209+ shell : bash
210+
211+ - name : " Upload MacOS final Artifact"
212+ uses : actions/upload-artifact@v4
213+ with :
214+ name : macos-artifact
215+ path : ./goxlr-utility-macos-*.pkg
216+
217+ - name : " Remove x64 artifact"
218+ uses : geekyeggo/delete-artifact@v4
219+ with :
220+ name : macos-artifact-x86_64-apple-darwin
221+
222+ - name : " Remove aarch artifact"
223+ uses : geekyeggo/delete-artifact@v4
224+ with :
225+ name : macos-artifact-aarch64-apple-darwin
0 commit comments