Skip to content

Commit 26a2a29

Browse files
ci: Build and test arm64/arm64ec on Windows on Arm
Add a windows_arm job on the native windows-11-arm runners that builds and runs the test suite for the arm64 and arm64ec targets. These exercise the MARMASM assembler paths in unknown_ext_chain_marmasm.asm (including the arm64ec adjustor thunks) that the existing x64 Windows jobs cannot reach (#1884).
1 parent 3637a37 commit 26a2a29

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,32 @@ jobs:
271271
- run: cmake --build build/ --config Release
272272
- run: ctest --parallel --output-on-failure -C Release -E UnknownFunction --test-dir build/
273273

274+
windows_arm:
275+
# Native Windows on Arm: covers the arm64 and arm64ec MARMASM paths the x64 runners can't.
276+
# windows is 2x expensive to run on GitHub machines, so only run if we know something else simple passed as well
277+
needs: linux-no-asm
278+
runs-on: windows-11-arm
279+
timeout-minutes: 30
280+
strategy:
281+
matrix:
282+
arch: [ arm64, arm64ec ]
283+
config: [ Debug, Release ]
284+
steps:
285+
- uses: actions/checkout@v6
286+
- uses: actions/setup-python@v5
287+
with:
288+
python-version: '3.x'
289+
- run: |
290+
cmake -S. -B build `
291+
-D BUILD_TESTS=ON `
292+
-D UPDATE_DEPS=ON `
293+
-D CMAKE_BUILD_TYPE=${{matrix.config}} `
294+
-A ${{ matrix.arch }} `
295+
-D BUILD_WERROR=ON
296+
- run: cmake --build build/ --config ${{matrix.config}}
297+
- run: cmake --install build --prefix build/install --config ${{matrix.config}}
298+
- run: ctest --parallel --output-on-failure -C ${{matrix.config}} --test-dir build/
299+
274300
# Test both clang and clang-cl (Chromium project uses clang-cl)
275301
windows_clang:
276302
# 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)