Skip to content

Commit 6401089

Browse files
committed
CI: Build aarch64-pc-windows-msvc on ARM Windows 11, and run tests.
1 parent c633d5e commit 6401089

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

.github/workflows/ci.yml

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -252,9 +252,7 @@ jobs:
252252
cargo_options: --no-run
253253

254254
- target: aarch64-pc-windows-msvc
255-
host_os: windows-latest
256-
# GitHub Actions doesn't have a way to run this target yet.
257-
cargo_options: --no-run
255+
host_os: windows-11-arm
258256

259257
- target: aarch64-unknown-linux-gnu
260258
host_os: ubuntu-22.04
@@ -352,17 +350,20 @@ jobs:
352350
with:
353351
persist-credentials: false
354352

353+
# From https://github.com/actions/partner-runner-images/issues/77
354+
- if: ${{ contains(matrix.host_os, 'windows') && contains(matrix.host_os, 'arm') }}
355+
run: |
356+
curl -LOs https://static.rust-lang.org/rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe
357+
./rustup-init.exe -y --default-toolchain none --no-modify-path
358+
echo "$USERPROFILE/.cargo/bin" >> "$GITHUB_PATH"
359+
shell: sh
360+
355361
- run: mk/install-build-tools.sh +${{ matrix.rust_channel }} --target=${{ matrix.target }}
356362
shell: sh
357363

358-
- if: ${{ contains(matrix.host_os, 'windows') }}
364+
- if: ${{ contains(matrix.host_os, 'windows') && contains(matrix.target, '86') }}
359365
run: ./mk/install-build-tools.ps1
360366

361-
- if: ${{ matrix.target == 'aarch64-pc-windows-msvc' }}
362-
run: |
363-
echo "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\Llvm\x64\bin" >> $GITHUB_PATH
364-
shell: bash
365-
366367
- if: ${{ matrix.xcode_version != '' }}
367368
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode_version }}.app
368369

@@ -482,10 +483,10 @@ jobs:
482483
- run: mk/install-build-tools.sh +${{ matrix.rust_channel }} --target=${{ matrix.target }}
483484
shell: sh
484485

485-
- if: ${{ contains(matrix.host_os, 'windows') }}
486+
- if: ${{ contains(matrix.host_os, 'windows') && contains(matrix.target, '86') }}
486487
run: ./mk/install-build-tools.ps1
487488

488-
- if: ${{ matrix.target == 'aarch64-pc-windows-msvc' }}
489+
- if: ${{ matrix.target == 'aarch64-pc-windows-msvc' && !contains(matrix.host_os, 'arm') }}
489490
run: |
490491
echo "C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\VC\Tools\Llvm\x64\bin" >> $GITHUB_PATH
491492
shell: bash
@@ -555,7 +556,7 @@ jobs:
555556
- run: mk/install-build-tools.sh +${{ matrix.rust_channel }} --target=${{ matrix.target }}
556557
shell: sh
557558

558-
- if: ${{ contains(matrix.host_os, 'windows') }}
559+
- if: ${{ contains(matrix.host_os, 'windows') && contains(matrix.target, '86') }}
559560
run: ./mk/install-build-tools.ps1
560561

561562
- run: cargo +${{ matrix.rust_channel }} generate-lockfile
@@ -804,7 +805,7 @@ jobs:
804805
- run: RING_CPU_MODEL=${{ matrix.cpu_model }} RING_COVERAGE=1 mk/install-build-tools.sh +${{ matrix.rust_channel }} --target=${{ matrix.target }}
805806
shell: sh
806807

807-
- if: ${{ contains(matrix.host_os, 'windows') }}
808+
- if: ${{ contains(matrix.host_os, 'windows') && contains(matrix.target, '86') }}
808809
run: ./mk/install-build-tools.ps1
809810

810811
- if: ${{ !contains(matrix.host_os, 'windows') }}

0 commit comments

Comments
 (0)