Skip to content

Commit 0bbb00e

Browse files
committed
[3.13] Enable aarch64 Ubuntu CI jobs (pythonGH-125786)
This change enables custom GHA runners for Ubuntu-24.04 that run on Arm hardware. It also prepares for Windows runners on Arm hardware, but doesn't enable that just yet, because the Arm GHA runner images for Windows need to be updated. (cherry picked from commit 8214e0f) Co-authored-by: Łukasz Langa <[email protected]>
1 parent 950daf8 commit 0bbb00e

File tree

3 files changed

+30
-16
lines changed

3 files changed

+30
-16
lines changed

.github/workflows/build.yml

+17-5
Original file line numberDiff line numberDiff line change
@@ -193,16 +193,28 @@ jobs:
193193
needs: check_source
194194
if: fromJSON(needs.check_source.outputs.run_tests)
195195
strategy:
196+
fail-fast: false
196197
matrix:
198+
os:
199+
- windows-latest
197200
arch:
198-
- Win32
199-
- x64
200-
- arm64
201+
- x64
201202
free-threading:
202-
- false
203-
- true
203+
- false
204+
- true
205+
include:
206+
- os: windows-latest # FIXME(diegorusso): change to os: windows-aarch64
207+
arch: arm64
208+
free-threading: false
209+
- os: windows-latest # FIXME(diegorusso): change to os: windows-aarch64
210+
arch: arm64
211+
free-threading: true
212+
- os: windows-latest
213+
arch: Win32
214+
free-threading: false
204215
uses: ./.github/workflows/reusable-windows.yml
205216
with:
217+
os: ${{ matrix.os }}
206218
arch: ${{ matrix.arch }}
207219
free-threading: ${{ matrix.free-threading }}
208220

.github/workflows/reusable-ubuntu.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
strategy:
2121
fail-fast: false
2222
matrix:
23-
os: [ubuntu-24.04]
23+
os: [ubuntu-24.04, ubuntu-24.04-aarch64]
2424
env:
2525
FORCE_COLOR: 1
2626
OPENSSL_VER: 3.0.15
@@ -79,7 +79,7 @@ jobs:
7979
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
8080
- name: Build CPython out-of-tree
8181
working-directory: ${{ env.CPYTHON_BUILDDIR }}
82-
run: make -j4
82+
run: make -j
8383
- name: Display build info
8484
working-directory: ${{ env.CPYTHON_BUILDDIR }}
8585
run: make pythoninfo

.github/workflows/reusable-windows.yml

+11-9
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ name: Reusable Windows
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
@@ -19,10 +23,8 @@ env:
1923
2024
jobs:
2125
build:
22-
name: >-
23-
build${{ inputs.arch != 'arm64' && ' and test' || '' }}
24-
(${{ inputs.arch }})
25-
runs-on: windows-latest
26+
name: 'build and test (${{ inputs.arch }})'
27+
runs-on: ${{ inputs.os }}
2628
timeout-minutes: 60
2729
steps:
2830
- uses: actions/checkout@v4
@@ -31,17 +33,17 @@ jobs:
3133
run: echo "::add-matcher::.github/problem-matchers/msvc.json"
3234
- name: Build CPython
3335
run: >-
34-
.\PCbuild\build.bat
36+
.\\PCbuild\\build.bat
3537
-e -d -v
3638
-p ${{ inputs.arch }}
3739
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
38-
- name: Display build info
40+
- name: Display build info # FIXME(diegorusso): remove the `if`
3941
if: inputs.arch != 'arm64'
40-
run: .\python.bat -m test.pythoninfo
41-
- name: Tests
42+
run: .\\python.bat -m test.pythoninfo
43+
- name: Tests # FIXME(diegorusso): remove the `if`
4244
if: inputs.arch != 'arm64'
4345
run: >-
44-
.\PCbuild\rt.bat
46+
.\\PCbuild\\rt.bat
4547
-p ${{ inputs.arch }}
4648
-d -q --fast-ci
4749
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}

0 commit comments

Comments
 (0)