77
88 build_windows :
99 name : " Create Windows Build"
10+ strategy :
11+ matrix :
12+ targets : [ aarch64-pc-windows-msvc, x86_64-pc-windows-msvc ]
13+
1014 runs-on : windows-latest
1115 needs : [ get_version ]
1216 steps :
17+ - name : Set architecture suffix
18+ id : arch_suffix
19+ shell : pwsh
20+ run : |
21+ if ("${{ matrix.targets }}" -eq "aarch64-pc-windows-msvc") {
22+ echo "SUFFIX=-arm64" >> $env:GITHUB_ENV
23+ } else {
24+ echo "SUFFIX=" >> $env:GITHUB_ENV
25+ }
26+
1327 # Firstly Checkout our Repository..
1428 - name : " Check out GoXLR Utility"
1529 uses : actions/checkout@v4
@@ -36,15 +50,18 @@ jobs:
3650 ~/.cargo/registry/cache/
3751 ~/.cargo/git/db/
3852 goxlr-utility/target
39- key : ${{ runner.os }}-cargo-release-${{ hashFiles('goxlr-utility/Cargo.lock') }}
40- restore-keys : ${{ runner.os }}-cargo-release-
53+ key : ${{ runner.os }}-${{ matrix.targets }}-cargo-release-${{ hashFiles('goxlr-utility/Cargo.lock') }}
54+ restore-keys : ${{ runner.os }}-${{ matrix.targets }}-cargo-release-
55+
56+ - name : " Add rust target support"
57+ run : rustup target add ${{ matrix.targets }}
4158
4259 - name : " Build Utility"
43- run : " cargo build --manifest-path=goxlr-utility/Cargo.toml --release --all-features"
60+ run : " cargo build --target=${{ matrix.targets }} -- manifest-path=goxlr-utility/Cargo.toml --release --all-features"
4461
4562 # Build the UI into the same target directory..
4663 - name : " Build UI"
47- run : " cargo build --manifest-path=goxlr-utility-ui/src-tauri/Cargo.toml --target-dir=goxlr-utility/target --release"
64+ run : " cargo build --target=${{ matrix.targets }} -- manifest-path=goxlr-utility-ui/src-tauri/Cargo.toml --target-dir=goxlr-utility/target --release"
4865
4966 # Prepare NSIS
5067 - name : " Preparing NSIS"
@@ -75,14 +92,20 @@ jobs:
7592 with :
7693 additional-plugin-paths : ${{ github.workspace }}/NSIS_Plugins
7794 script-file : goxlr-utility/ci/nsis/goxlr-utility.nsi
78- arguments : " /DPRODUCT_VERSION=${{ needs.get_version.outputs.version }}"
95+ arguments : " /DPRODUCT_VERSION=${{ needs.get_version.outputs.version }}-${{ env.SUFFIX }} "
7996
80- - name : " Upload Installer"
97+ - name : " Upload amd64 Installer"
8198 uses : actions/upload-artifact@v4
8299 with :
83100 name : windows-artifact
84101 path : ./goxlr-utility/ci/Output/*.exe
85102
103+ - name : " Upload aarch64 Installer"
104+ uses : actions/upload-artifact@v4
105+ with :
106+ name : windows-artifact-arm
107+ path : ./goxlr-utility/ci/Output/*.exe
108+
86109 build_linux :
87110 name : " Create Linux Builds"
88111 runs-on : ubuntu-22.04
0 commit comments