Skip to content

Commit cd1f747

Browse files
authored
Add Windows ARM64 support (#756)
1 parent 017226f commit cd1f747

Some content is hidden

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

41 files changed

+192
-81
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

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

.github/workflows/c-demos.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,17 @@ jobs:
6666
strategy:
6767
matrix:
6868
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
69-
69+
make_file: ["Unix Makefiles"]
70+
include:
71+
- machine: pv-windows-arm64
72+
make_file: "MinGW Makefiles"
7073
steps:
7174
- uses: actions/checkout@v3
7275
with:
7376
submodules: recursive
7477

7578
- name: Create build directory
76-
run: cmake -B ./build
79+
run: cmake -G "${{ matrix.make_file }}" -B ./build
7780

7881
- name: Build micdemo
7982
run: cmake --build ./build --target rhino_demo_mic
@@ -123,6 +126,7 @@ jobs:
123126
strategy:
124127
matrix:
125128
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
129+
make_file: ["Unix Makefiles"]
126130
include:
127131
- machine: rpi3-32
128132
platform: raspberry-pi
@@ -139,14 +143,18 @@ jobs:
139143
- machine: rpi5-64
140144
platform: raspberry-pi
141145
arch: cortex-a76-aarch64
146+
- machine: pv-windows-arm64
147+
platform: windows
148+
arch: arm64
149+
make_file: "MinGW Makefiles"
142150

143151
steps:
144152
- uses: actions/checkout@v3
145153
with:
146154
submodules: recursive
147155

148156
- name: Create build directory
149-
run: cmake -B ./build
157+
run: cmake -G "${{ matrix.make_file }}" -B ./build
150158

151159
- name: Build filedemo
152160
run: cmake --build ./build --target rhino_demo_file

.github/workflows/dotnet-demos.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959

6060
strategy:
6161
matrix:
62-
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
62+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
6363
include:
6464
- machine: rpi3-32
6565
platform: raspberry-pi
@@ -71,6 +71,8 @@ jobs:
7171
platform: raspberry-pi
7272
- machine: rpi5-64
7373
platform: raspberry-pi
74+
- machine: pv-windows-arm64
75+
platform: windows
7476

7577
steps:
7678
- uses: actions/checkout@v3

.github/workflows/dotnet.yml

Lines changed: 16 additions & 2 deletions
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
@@ -87,11 +95,17 @@ jobs:
8795
steps:
8896
- uses: actions/checkout@v3
8997

90-
- name: Setup .NET 8.0
98+
- name: Setup .NET
9199
uses: actions/setup-dotnet@v3
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 Rhino/Rhino.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-64]
122+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
109123

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

.github/workflows/java-demos.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454

5555
strategy:
5656
matrix:
57-
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
57+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
5858
include:
5959
- machine: rpi3-32
6060
platform: raspberry-pi
@@ -66,6 +66,8 @@ jobs:
6666
platform: raspberry-pi
6767
- machine: rpi5-64
6868
platform: raspberry-pi
69+
- machine: pv-windows-arm64
70+
platform: windows
6971

7072
steps:
7173
- uses: actions/checkout@v3

.github/workflows/java-perf.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,24 @@ jobs:
100100
- name: Machine state after
101101
working-directory: resources/scripts
102102
run: bash machine-state.sh
103+
104+
perf-windows-arm64:
105+
runs-on: ${{ matrix.machine }}
106+
107+
strategy:
108+
fail-fast: false
109+
matrix:
110+
machine: [pv-windows-arm64]
111+
include:
112+
- machine: pv-windows-arm64
113+
num_test_iterations: 50
114+
performance_threshold_sec: 0.5
115+
116+
steps:
117+
- uses: actions/checkout@v3
118+
119+
- name: Build
120+
run: ./gradlew assemble
121+
122+
- name: Test
123+
run: ./gradlew test --info --tests RhinoPerformanceTest -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: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757

5858
strategy:
5959
matrix:
60-
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
60+
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
6161
include:
6262
- machine: rpi3-32
6363
platform: raspberry-pi
@@ -69,6 +69,8 @@ jobs:
6969
platform: raspberry-pi
7070
- machine: rpi5-64
7171
platform: raspberry-pi
72+
- machine: pv-windows-arm64
73+
platform: windows
7274

7375
steps:
7476
- uses: actions/checkout@v3

.github/workflows/nodejs-perf.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,3 +95,23 @@ jobs:
9595
- name: Machine state after
9696
working-directory: resources/scripts
9797
run: bash machine-state.sh
98+
99+
build-windows-arm64:
100+
runs-on: ${{ matrix.machine }}
101+
102+
strategy:
103+
matrix:
104+
machine: [pv-windows-arm64]
105+
include:
106+
- machine: pv-windows-arm64
107+
num_test_iterations: 50
108+
performance_threshold_sec: 0.2
109+
110+
steps:
111+
- uses: actions/checkout@v3
112+
113+
- name: Install dependencies
114+
run: yarn install
115+
116+
- name: Test
117+
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
@@ -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

0 commit comments

Comments
 (0)