File tree Expand file tree Collapse file tree 4 files changed +50
-5
lines changed Expand file tree Collapse file tree 4 files changed +50
-5
lines changed Original file line number Diff line number Diff line change @@ -163,6 +163,9 @@ jobs:
163
163
- name : show the current environment
164
164
run : src/ci/scripts/dump-environment.sh
165
165
166
+ - name : install rust
167
+ run : src/ci/scripts/install-rust.sh
168
+
166
169
- name : install awscli
167
170
run : src/ci/scripts/install-awscli.sh
168
171
Original file line number Diff line number Diff line change @@ -46,6 +46,10 @@ runners:
46
46
os : windows-2025-8core-32gb
47
47
<< : *base-job
48
48
49
+ - &job-windows-aarch64
50
+ os : windows-11-arm
51
+ << : *base-job
52
+
49
53
- &job-aarch64-linux
50
54
# Free some disk space to avoid running out of space during the build.
51
55
free_disk : true
@@ -539,6 +543,19 @@ auto:
539
543
SCRIPT : make ci-msvc-ps1
540
544
<< : *job-windows
541
545
546
+ # aarch64-msvc is split into two jobs to run tests in parallel.
547
+ - name : aarch64-msvc-1
548
+ env :
549
+ RUST_CONFIGURE_ARGS : --build=aarch64-pc-windows-msvc
550
+ SCRIPT : make ci-msvc-py
551
+ << : *job-windows-aarch64
552
+
553
+ - name : aarch64-msvc-2
554
+ env :
555
+ RUST_CONFIGURE_ARGS : --build=aarch64-pc-windows-msvc
556
+ SCRIPT : make ci-msvc-ps1
557
+ << : *job-windows-aarch64
558
+
542
559
# x86_64-msvc-ext is split into multiple jobs to run tests in parallel.
543
560
- name : x86_64-msvc-ext1
544
561
env :
@@ -634,14 +651,14 @@ auto:
634
651
- name : dist-aarch64-msvc
635
652
env :
636
653
RUST_CONFIGURE_ARGS : >-
637
- --build=x86_64 -pc-windows-msvc
654
+ --build=aarch64 -pc-windows-msvc
638
655
--host=aarch64-pc-windows-msvc
639
656
--target=aarch64-pc-windows-msvc,arm64ec-pc-windows-msvc
640
657
--enable-full-tools
641
658
--enable-profiler
642
659
SCRIPT : python x.py dist bootstrap --include-default-paths
643
660
DIST_REQUIRE_ALL_TOOLS : 1
644
- << : *job-windows
661
+ << : *job-windows-aarch64
645
662
646
663
- name : dist-i686-mingw
647
664
env :
Original file line number Diff line number Diff line change @@ -56,9 +56,19 @@ elif isWindows && ! isKnownToBeMingwBuild; then
56
56
57
57
mkdir -p citools/clang-rust
58
58
cd citools
59
- retry curl -f " ${MIRRORS_BASE} /LLVM-${LLVM_VERSION} -win64.exe" \
60
- -o " LLVM-${LLVM_VERSION} -win64.exe"
61
- 7z x -oclang-rust/ " LLVM-${LLVM_VERSION} -win64.exe"
59
+
60
+ if [[ " ${CI_JOB_NAME} " = * aarch64* ]]; then
61
+ suffix=woa64
62
+
63
+ # On Arm64, the Ring crate requires that Clang be on the PATH.
64
+ # https://github.com/briansmith/ring/blob/main/BUILDING.md
65
+ ciCommandAddPath " $( cygpath -m " $( pwd) /clang-rust/bin" ) "
66
+ else
67
+ suffix=win64
68
+ fi
69
+ retry curl -f " ${MIRRORS_BASE} /LLVM-${LLVM_VERSION} -${suffix} .exe" \
70
+ -o " LLVM-${LLVM_VERSION} -${suffix} .exe"
71
+ 7z x -oclang-rust/ " LLVM-${LLVM_VERSION} -${suffix} .exe"
62
72
ciCommandSetEnv RUST_CONFIGURE_ARGS \
63
73
" ${RUST_CONFIGURE_ARGS} --set llvm.clang-cl=$( pwd) /clang-rust/bin/clang-cl.exe"
64
74
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ # The Arm64 Windows Runner does not have Rust already installed
4
+ # https://github.com/actions/partner-runner-images/issues/77
5
+
6
+ set -euo pipefail
7
+ IFS=$' \n\t '
8
+
9
+ source " $( cd " $( dirname " $0 " ) " && pwd) /../shared.sh"
10
+
11
+ if [[ " ${CI_JOB_NAME} " = * aarch64* ]] && isWindows; then
12
+ curl --proto ' =https' --tlsv1.2 -sSf https://sh.rustup.rs | \
13
+ sh -s -- -y -q --default-host aarch64-pc-windows-msvc
14
+ ciCommandAddPath " ${USERPROFILE} /.cargo/bin"
15
+ fi
You can’t perform that action at this time.
0 commit comments