Original file line numberDiff line numberDiff line change@@ -0,0 +1,10 @@
1+self-hosted-runner:
2+labels: ["ubuntu-24.04-aarch64", "windows-aarch64"]
3+4+config-variables: null
5+6+paths:
7+.github/workflows/**/*.yml:
8+ignore:
9+ - 1st argument of function call is not assignable
10+ - SC2(015|038|086|091|097|098|129|155)
Original file line numberDiff line numberDiff line change@@ -150,16 +150,28 @@ jobs:
150150needs: check_source
151151if: fromJSON(needs.check_source.outputs.run_tests)
152152strategy:
153+fail-fast: false
153154matrix:
155+os:
156+ - windows-latest
154157arch:
155- - Win32
156- - x64
157- - arm64
158+ - x64
158159free-threading:
159- - false
160- - true
160+ - false
161+ - true
162+include:
163+ - os: windows-latest # FIXME(diegorusso): change to os: windows-aarch64
164+arch: arm64
165+free-threading: false
166+ - os: windows-latest # FIXME(diegorusso): change to os: windows-aarch64
167+arch: arm64
168+free-threading: true
169+ - os: windows-latest
170+arch: Win32
171+free-threading: false
161172uses: ./.github/workflows/reusable-windows.yml
162173with:
174+os: ${{ matrix.os }}
163175arch: ${{ matrix.arch }}
164176free-threading: ${{ matrix.free-threading }}
165177Original file line numberDiff line numberDiff line change@@ -20,7 +20,7 @@ jobs:
2020strategy:
2121fail-fast: false
2222matrix:
23-os: [ubuntu-24.04]
23+os: [ubuntu-24.04, ubuntu-24.04-aarch64]
2424env:
2525FORCE_COLOR: 1
2626OPENSSL_VER: 3.0.15
@@ -82,11 +82,11 @@ jobs:
8282 - name: Build CPython out-of-tree
8383if: ${{ inputs.free-threading }}
8484working-directory: ${{ env.CPYTHON_BUILDDIR }}
85-run: make -j4
85+run: make -j
8686 - name: Build CPython out-of-tree (for compiler warning check)
8787if: ${{ !inputs.free-threading}}
8888working-directory: ${{ env.CPYTHON_BUILDDIR }}
89-run: set -o pipefail; make -j4 --output-sync 2>&1 | tee compiler_output_ubuntu.txt
89+run: set -o pipefail; make -j --output-sync 2>&1 | tee compiler_output_ubuntu.txt
9090 - name: Display build info
9191working-directory: ${{ env.CPYTHON_BUILDDIR }}
9292run: make pythoninfo
Original file line numberDiff line numberDiff line change@@ -3,6 +3,10 @@ name: Reusable Windows
33on:
44workflow_call:
55inputs:
6+os:
7+description: OS to run on
8+required: true
9+type: string
610arch:
711description: CPU architecture
812required: true
@@ -19,10 +23,8 @@ env:
19232024jobs:
2125build:
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 }}
2628timeout-minutes: 60
2729steps:
2830 - uses: actions/checkout@v4
@@ -31,17 +33,17 @@ jobs:
3133run: echo "::add-matcher::.github/problem-matchers/msvc.json"
3234 - name: Build CPython
3335run: >-
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`
3941if: 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`
4244if: inputs.arch != 'arm64'
4345run: >-
44- .\PCbuild\rt.bat
46+ .\\PCbuild\\rt.bat
4547 -p ${{ inputs.arch }}
4648 -d -q --fast-ci
4749 ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
Original file line numberDiff line numberDiff line change@@ -57,13 +57,9 @@ repos:
5757 - id: check-github-workflows
58585959 - repo: https://github.com/rhysd/actionlint
60-rev: v1.7.3
60+rev: v1.7.4
6161hooks:
6262 - id: actionlint
63-args: [
64--ignore=1st argument of function call is not assignable,
65--ignore=SC2(015|038|086|091|097|098|129|155),
66-]
67636864 - repo: https://github.com/sphinx-contrib/sphinx-lint
6965rev: v1.0.0