Skip to content

Commit 77d3e04

Browse files
committed
Enable Windows on Arm GitHub runners.
1 parent 6131707 commit 77d3e04

File tree

4 files changed

+12
-17
lines changed

4 files changed

+12
-17
lines changed

.github/workflows/build.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,10 @@ jobs:
164164
- false
165165
- true
166166
include:
167-
- os: windows-latest # FIXME(diegorusso): change to os: windows-aarch64
167+
- os: windows-aarch64
168168
arch: arm64
169169
free-threading: false
170-
- os: windows-latest # FIXME(diegorusso): change to os: windows-aarch64
170+
- os: windows-aarch64
171171
arch: arm64
172172
free-threading: true
173173
- os: windows-latest
@@ -193,6 +193,7 @@ jobs:
193193
- arm64
194194
uses: ./.github/workflows/reusable-windows-msi.yml
195195
with:
196+
os: ${{ matrix.os }}
196197
arch: ${{ matrix.arch }}
197198

198199
build-macos:

.github/workflows/jit.yml

+1-9
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ jobs:
7474
runner: windows-latest
7575
- target: aarch64-pc-windows-msvc/msvc
7676
architecture: ARM64
77-
runner: windows-latest
77+
runner: windows-aarch64
7878
- target: x86_64-apple-darwin/clang
7979
architecture: x86_64
8080
runner: macos-13
@@ -96,19 +96,11 @@ jobs:
9696
python-version: '3.11'
9797

9898
- name: Native Windows
99-
if: runner.os == 'Windows' && matrix.architecture != 'ARM64'
10099
run: |
101100
choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0
102101
./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
103102
./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
104103
105-
# No tests (yet):
106-
- name: Emulated Windows
107-
if: runner.os == 'Windows' && matrix.architecture == 'ARM64'
108-
run: |
109-
choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0
110-
./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
111-
112104
# The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966.
113105
# This is a bug in the macOS runner image where the pre-installed Python is installed in the same
114106
# directory as the Homebrew Python, which causes the build to fail for macos-13. This line removes

.github/workflows/reusable-windows-msi.yml

+5-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ name: Reusable Windows MSI
33
on:
44
workflow_call:
55
inputs:
6+
os:
7+
description: OS to run on
8+
required: true
9+
type: string
610
arch:
711
description: CPU architecture
812
required: true
@@ -17,7 +21,7 @@ env:
1721
jobs:
1822
build:
1923
name: installer for ${{ inputs.arch }}
20-
runs-on: windows-latest
24+
runs-on: ${{ inputs.os }}
2125
timeout-minutes: 60
2226
env:
2327
ARCH: ${{ inputs.arch }}

.github/workflows/reusable-windows.yml

+3-5
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ env:
2424
2525
jobs:
2626
build:
27-
name: ${{ inputs.arch == 'arm64' && 'build' || 'build and test' }} (${{ inputs.arch }})
27+
name: Build and test (${{ inputs.arch }})
2828
runs-on: ${{ inputs.os }}
2929
timeout-minutes: 60
3030
env:
@@ -43,11 +43,9 @@ jobs:
4343
-p "${ARCH}"
4444
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
4545
shell: bash
46-
- name: Display build info # FIXME(diegorusso): remove the `if`
47-
if: inputs.arch != 'arm64'
46+
- name: Display build info
4847
run: .\\python.bat -m test.pythoninfo
49-
- name: Tests # FIXME(diegorusso): remove the `if`
50-
if: inputs.arch != 'arm64'
48+
- name: Tests
5149
run: >-
5250
.\\PCbuild\\rt.bat
5351
-p "${ARCH}"

0 commit comments

Comments
 (0)