Skip to content

Commit 091fe08

Browse files
[CI] Support a Windows ARM Build maybe?
1 parent 3e249fa commit 091fe08

File tree

1 file changed

+29
-6
lines changed

1 file changed

+29
-6
lines changed

.github/workflows/build-release.yml

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,23 @@ jobs:
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

Comments
 (0)