Skip to content

Commit 7a352c8

Browse files
charles-lunargBoiledElectricity
authored andcommitted
Add arm64x test to github actions
(cherry picked from commit 6e9edf7)
1 parent 1b76e31 commit 7a352c8

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,49 @@ jobs:
297297
- run: cmake --install build --prefix build/install --config ${{matrix.config}}
298298
- run: ctest --parallel --output-on-failure -C ${{matrix.config}} --test-dir build/
299299

300+
windows_arm64x:
301+
# Native Windows on Arm: Tests building a genuine arm64x binary and validates that an x64 test suite passes
302+
# windows is 2x expensive to run on GitHub machines, so only run if we know something else simple passed as well
303+
# needs: windows_arm
304+
runs-on: windows-11-arm
305+
timeout-minutes: 30
306+
steps:
307+
- uses: actions/checkout@v6
308+
- uses: actions/setup-python@v5
309+
with:
310+
python-version: '3.x'
311+
- run: python scripts/update_deps.py --arch arm64 --api vulkan --dir external --clean-build --clean-install
312+
- run: |
313+
cmake -S. -B build_arm64x `
314+
-A arm64 `
315+
-D BUILD_AS_ARM64X=ARM64 `
316+
-D CMAKE_BUILD_TYPE=Release `
317+
-D BUILD_WERROR=ON `
318+
-C external/helper.cmake
319+
- run: cmake --build build_arm64x/ --config Release
320+
- run: |
321+
cmake -S. -B build_arm64xec `
322+
-A arm64ec `
323+
-D BUILD_AS_ARM64X=ARM64EC `
324+
-D BUILD_TESTS=ON `
325+
-D CMAKE_BUILD_TYPE=Release `
326+
-D BUILD_WERROR=ON `
327+
-C external/helper.cmake
328+
- run: cmake --build build_arm64xec/ --config Release
329+
- run: cmake --install build_arm64xec --prefix build/install --config Release
330+
- run: ctest --parallel --output-on-failure -C Release --test-dir build_arm64xec/
331+
- run: |
332+
cmake -S. -B build_x64 `
333+
-A x64 `
334+
-D BUILD_TESTS=ON `
335+
-D CMAKE_BUILD_TYPE=Release `
336+
-D BUILD_WERROR=ON `
337+
-C external/helper.cmake
338+
- run: cmake --build build_x64/ --config Release
339+
- run: ctest --parallel --output-on-failure -C Release --test-dir build_x64/
340+
env:
341+
VK_LOADER_TEST_LOADER_PATH: ${{ github.workspace }}/build_arm64xec/loader/Release/vulkan-1.dll
342+
300343
# Test both clang and clang-cl (Chromium project uses clang-cl)
301344
windows_clang:
302345
# windows is 2x expensive to run on GitHub machines, so only run if we know something else simple passed as well

0 commit comments

Comments
 (0)