Skip to content

Commit 0272de7

Browse files
authored
Add Windows ARM64 support (#1350)
1 parent 840ac76 commit 0272de7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+188
-81
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ body:
6565
- Web (WASM)
6666
- Linux (x86_64)
6767
- macOS (x86_64, arm64)
68-
- Windows (x86_64)
68+
- Windows (x86_64, arm64)
6969
- Raspberry Pi
7070
- ARM Cortex-M
7171
validations:

.github/workflows/c-demos.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,18 @@ jobs:
6767
strategy:
6868
matrix:
6969
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
70+
make_file: ["Unix Makefiles"]
71+
include:
72+
- machine: pv-windows-arm64
73+
make_file: "MinGW Makefiles"
7074

7175
steps:
7276
- uses: actions/checkout@v3
7377
with:
7478
submodules: recursive
7579

7680
- name: Create build directory
77-
run: cmake -B ./build
81+
run: cmake -G "${{ matrix.make_file }}" -B ./build
7882

7983
- name: Build micdemo
8084
run: cmake --build ./build --target porcupine_demo_mic
@@ -124,6 +128,7 @@ jobs:
124128
strategy:
125129
matrix:
126130
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
131+
make_file: ["Unix Makefiles"]
127132
include:
128133
- machine: rpi3-32
129134
platform: raspberry-pi
@@ -140,14 +145,18 @@ jobs:
140145
- machine: rpi5-64
141146
platform: raspberry-pi
142147
arch: cortex-a76-aarch64
148+
- machine: pv-windows-arm64
149+
platform: windows
150+
arch: arm64
151+
make_file: "MinGW Makefiles"
143152

144153
steps:
145154
- uses: actions/checkout@v3
146155
with:
147156
submodules: recursive
148157

149158
- name: Create build directory
150-
run: cmake -B ./build
159+
run: cmake -G "${{ matrix.make_file }}" -B ./build
151160

152161
- name: Build filedemo
153162
run: cmake --build ./build --target porcupine_demo_file

.github/workflows/dotnet-demos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656

5757
strategy:
5858
matrix:
59-
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
59+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
6060

6161
steps:
6262
- uses: actions/checkout@v3

.github/workflows/dotnet.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,14 @@ jobs:
7171
binding-framework: net8.0
7272
test-framework: net8.0
7373
exclude:
74+
- os: ubuntu-latest
75+
dotnet-version: 2.1.x
76+
- os: ubuntu-latest
77+
dotnet-version: 3.0.x
78+
- os: ubuntu-latest
79+
dotnet-version: 3.1.x
80+
- os: ubuntu-latest
81+
dotnet-version: 5.0.x
7482
- os: macos-latest
7583
dotnet-version: 2.1.x
7684
- os: macos-latest
@@ -92,6 +100,12 @@ jobs:
92100
with:
93101
dotnet-version: ${{ matrix.dotnet-version }}
94102

103+
- name: Set up .NET (8)
104+
if: ${{ matrix.os == 'ubuntu-latest' && matrix.dotnet-version == '6.0.x' }}
105+
uses: actions/setup-dotnet@v3
106+
with:
107+
dotnet-version: 8.0.x
108+
95109
- name: Build binding
96110
run: dotnet build Porcupine/Porcupine.csproj --framework ${{ matrix.binding-framework }}
97111

@@ -105,7 +119,7 @@ jobs:
105119

106120
strategy:
107121
matrix:
108-
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-32, rpi5-64]
122+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-32, rpi5-64, pv-windows-arm64]
109123

110124
steps:
111125
- uses: actions/checkout@v3

.github/workflows/java-demos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747

4848
strategy:
4949
matrix:
50-
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
50+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
5151

5252
steps:
5353
- uses: actions/checkout@v3

.github/workflows/java-perf.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,24 @@ jobs:
9999
- name: Machine state after
100100
working-directory: resources/scripts
101101
run: bash machine-state.sh
102+
103+
perf-windows-arm64:
104+
runs-on: ${{ matrix.machine }}
105+
106+
strategy:
107+
fail-fast: false
108+
matrix:
109+
machine: [pv-windows-arm64]
110+
include:
111+
- machine: pv-windows-arm64
112+
num_test_iterations: 50
113+
performance_threshold_sec: 0.5
114+
115+
steps:
116+
- uses: actions/checkout@v3
117+
118+
- name: Build
119+
run: ./gradlew assemble
120+
121+
- name: Test
122+
run: ./gradlew test --info --tests PorcupinePerformanceTest -DpvTestingAccessKey="${{secrets.PV_VALID_ACCESS_KEY}}" -DnumTestIterations="${{matrix.num_test_iterations}}" -DperformanceThresholdSec="${{matrix.performance_threshold_sec}}"

.github/workflows/java.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363

6464
strategy:
6565
matrix:
66-
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
66+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
6767

6868
steps:
6969
- uses: actions/checkout@v3

.github/workflows/nodejs-demos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050

5151
strategy:
5252
matrix:
53-
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
53+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
5454

5555
steps:
5656
- uses: actions/checkout@v3

.github/workflows/nodejs-perf.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,27 @@ jobs:
103103
- name: Machine state after
104104
working-directory: resources/scripts
105105
run: bash machine-state.sh
106+
107+
performance-windows-arm64:
108+
runs-on: ${{ matrix.machine }}
109+
110+
strategy:
111+
fail-fast: false
112+
matrix:
113+
machine: [pv-windows-arm64]
114+
include:
115+
- machine: pv-windows-arm64
116+
num_test_iterations: 50
117+
performance_threshold_sec: 0.5
118+
119+
steps:
120+
- uses: actions/checkout@v3
121+
122+
- name: Pre-build dependencies
123+
run: npm install --global yarn
124+
125+
- name: Install dependencies
126+
run: yarn install
127+
128+
- name: Test
129+
run: yarn test test/perf.test.ts --access_key=${{secrets.PV_VALID_ACCESS_KEY}} --num_test_iterations=${{matrix.num_test_iterations}} --performance_threshold_sec=${{matrix.performance_threshold_sec}}

.github/workflows/nodejs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666

6767
strategy:
6868
matrix:
69-
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
69+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
7070

7171
steps:
7272
- uses: actions/checkout@v3

0 commit comments

Comments
 (0)