diff --git a/.cibw/setup-build.py b/.cibw/setup-build.py index 2610ed8..1caa396 100644 --- a/.cibw/setup-build.py +++ b/.cibw/setup-build.py @@ -61,7 +61,7 @@ def pp3(y_min=7, y_max=10): GHA_RUNNER = { "Linux": { - "aarch64": "ubuntu-latest", + "aarch64": "ubuntu-24.04-arm", "ppc64le": "ubuntu-latest", "x86_64": "ubuntu-latest", None: "ubuntu-latest" diff --git a/.cibw/setup-test.py b/.cibw/setup-test.py index f3c0927..7de7c07 100644 --- a/.cibw/setup-test.py +++ b/.cibw/setup-test.py @@ -90,14 +90,15 @@ assert match is not None std, mpi, py, x, y, ostag, archtag = match.groups() osname, mpiabi, x, y = osmap[ostag], f"{std}-{mpi}", int(x), int(y) - for arch in ("x86_64", "AMD64", "arm64"): + for arch in ("x86_64", "AMD64", "arm64", "aarch64"): if arch.lower() in archtag.lower(): builds.append((osname, arch, mpiabi, py, (x, y))) builds = sorted(builds, key=lambda r: (r[0].lower(), *r[1:])) runners = { - "Linux-x86_64": "ubuntu-22.04", + "Linux-aarch64": "ubuntu-24.04-arm", + "Linux-x86_64": "ubuntu-24.04", "macOS-arm64": "macos-14", "macOS-x86_64": "macos-13", "Windows-AMD64": "windows-2022", @@ -130,9 +131,13 @@ runners = { + "Linux-aarch64": [ + "ubuntu-22.04-arm", + "ubuntu-24.04-arm", + ], "Linux-x86_64": [ - "ubuntu-20.04", "ubuntu-22.04", + "ubuntu-24.04", ], "macOS-arm64": [ "macos-14", diff --git a/.github/workflows/cd-wheel.yml b/.github/workflows/cd-wheel.yml index 487434a..8394596 100644 --- a/.github/workflows/cd-wheel.yml +++ b/.github/workflows/cd-wheel.yml @@ -130,7 +130,7 @@ jobs: working-directory: mpi4py.git - id: setup-qemu - if: ${{ runner.os == 'Linux' }} + if: ${{ runner.os == 'Linux' && matrix.arch == 'ppc64le' }} uses: docker/setup-qemu-action@v3 with: platforms: all @@ -265,6 +265,13 @@ jobs: matrix-test-gh: ${{ steps.setup.outputs.matrix-test-gh }} steps: - uses: actions/checkout@v4 + - if: ${{ contains(needs.setup.outputs.os-arch-list, '"Linux-aarch64"') }} + uses: actions/download-artifact@v4 + with: + path: wheelhouse + pattern: build-Linux-aarch64-* + merge-multiple: true + - uses: actions/checkout@v4 - if: ${{ contains(needs.setup.outputs.os-arch-list, '"Linux-x86_64"') }} uses: actions/download-artifact@v4 with: