]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] Enable aarch64 Ubuntu CI jobs (GH-125786) (GH-127170)
authorŁukasz Langa <lukasz@langa.pl>
Sat, 23 Nov 2024 09:40:25 +0000 (10:40 +0100)
committerGitHub <noreply@github.com>
Sat, 23 Nov 2024 09:40:25 +0000 (10:40 +0100)
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 8214e0f709010a0e1fa06dc2ce004b5f6103cc6b)

.github/workflows/build.yml
.github/workflows/reusable-ubuntu.yml
.github/workflows/reusable-windows.yml

index f8c0c30a5b0132ced3a802e53346946cc44191b1..3649ae6c207b0a9fc3a010f0ac266a586e480cb6 100644 (file)
@@ -193,16 +193,28 @@ jobs:
     needs: check_source
     if: fromJSON(needs.check_source.outputs.run_tests)
     strategy:
+      fail-fast: false
       matrix:
+        os:
+          - windows-latest
         arch:
-        - Win32
-        - x64
-        - arm64
+          - x64
         free-threading:
-        - false
-        - true
+          - false
+          - true
+        include:
+          - os: windows-latest # FIXME(diegorusso): change to os: windows-aarch64
+            arch: arm64
+            free-threading: false
+          - os: windows-latest # FIXME(diegorusso): change to os: windows-aarch64
+            arch: arm64
+            free-threading: true
+          - os: windows-latest
+            arch: Win32
+            free-threading: false
     uses: ./.github/workflows/reusable-windows.yml
     with:
+      os: ${{ matrix.os }}
       arch: ${{ matrix.arch }}
       free-threading: ${{ matrix.free-threading }}
 
index c6719882702ebbab55eb9115ed52ae279eb87ea8..c9c415600d06b8ae635b2aec27815f4b7d397ed9 100644 (file)
@@ -20,7 +20,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        os: [ubuntu-24.04]
+        os: [ubuntu-24.04, ubuntu-24.04-aarch64]
     env:
       FORCE_COLOR: 1
       OPENSSL_VER: 3.0.15
@@ -79,7 +79,7 @@ jobs:
         ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
     - name: Build CPython out-of-tree
       working-directory: ${{ env.CPYTHON_BUILDDIR }}
-      run: make -j4
+      run: make -j
     - name: Display build info
       working-directory: ${{ env.CPYTHON_BUILDDIR }}
       run: make pythoninfo
index dcfc62d7f5d1456d3289b92f4291cd5e9860714e..12b68d68466d62e7fb970ff312ab14ab84b065e6 100644 (file)
@@ -3,6 +3,10 @@ name: Reusable Windows
 on:
   workflow_call:
     inputs:
+      os:
+        description: OS to run on
+        required: true
+        type: string
       arch:
         description: CPU architecture
         required: true
@@ -19,10 +23,8 @@ env:
 
 jobs:
   build:
-    name: >-
-      build${{ inputs.arch != 'arm64' && ' and test' || '' }}
-      (${{ inputs.arch }})
-    runs-on: windows-latest
+    name: 'build and test (${{ inputs.arch }})'
+    runs-on: ${{ inputs.os }}
     timeout-minutes: 60
     steps:
     - uses: actions/checkout@v4
@@ -31,17 +33,17 @@ jobs:
       run: echo "::add-matcher::.github/problem-matchers/msvc.json"
     - name: Build CPython
       run: >-
-        .\PCbuild\build.bat
+        .\\PCbuild\\build.bat
         -e -d -v
         -p ${{ inputs.arch }}
         ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
-    - name: Display build info
+    - name: Display build info  # FIXME(diegorusso): remove the `if`
       if: inputs.arch != 'arm64'
-      run: .\python.bat -m test.pythoninfo
-    - name: Tests
+      run: .\\python.bat -m test.pythoninfo
+    - name: Tests  # FIXME(diegorusso): remove the `if`
       if: inputs.arch != 'arm64'
       run: >-
-        .\PCbuild\rt.bat
+        .\\PCbuild\\rt.bat
         -p ${{ inputs.arch }}
         -d -q --fast-ci
         ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}