Added support for ppc64le architecture #2121
Conversation
…tested jobs for ppc64le in testsuite.yml
|
Hey @nedbat, At the moment, all jobs are getting cancelled due to a recent change in permissions for our GitHub Actions app. The permissions were reduced from Admin to Organization level. Could you please apply the resolution mentioned here: Let me know if you need any help from our side. |
.github/workflows/testsuite.yml
Outdated
| - ubuntu | ||
| - macos | ||
| - windows | ||
| - ppc64le |
There was a problem hiding this comment.
This action wasn't running tests separately for different architectures. Is there a reason to add ppc64le as a fourth "os"?
There was a problem hiding this comment.
Thank you for pointing this out -
adding ppc64le as an "os" entry doesn’t actually give us a separate architecture run. Since there’s no real benefit in this workflow, I’ve reverted the change and restored the original matrix.
|
The names of the "kit" jobs were getting too long. There's already logic for specifying the version of the OS based on the architecture. This change shows how: diff --git a/.github/workflows/kit.yml b/.github/workflows/kit.yml
index f44d4196..81637828 100644
--- a/.github/workflows/kit.yml
+++ b/.github/workflows/kit.yml
@@ -48,7 +48,7 @@ concurrency:
jobs:
wheels:
name: "${{ matrix.py }} ${{ matrix.os }} ${{ matrix.arch }} wheels"
- runs-on: "${{ matrix.arch == 'ppc64le' && matrix.os || (format('{0}-{1}', matrix.os, matrix.os-version || 'latest'))}}"
+ runs-on: "${{ matrix.os }}-${{ matrix.os-version || 'latest' }}"
env:
MATRIX_ID: "${{ matrix.py }}-${{ matrix.os }}-${{ matrix.arch }}"
strategy:
@@ -103,8 +103,6 @@ jobs:
# "arch": the_arch,
# "cipy": cipy,
# }
- # if the_arch == "ppc64le":
- # them["os"] = "ubuntu-24.04-ppc64le"
# if the_os == "macos":
# them["os-version"] = "14"
# if the_os == "windows" and the_arch == "ARM64":
@@ -113,6 +111,8 @@ jobs:
# if the_arch == "aarch64":
# # https://github.com/pypa/cibuildwheel/issues/2257
# them["os-version"] = "22.04-arm"
+ # if the_arch == "ppc64le":
+ # them["os-version"] = "24.04-ppc64le"
# print(f"- {json.dumps(them)}")
# ]]]
- {"os": "ubuntu", "py": "cp310", "arch": "x86_64", "cipy": "3.11"}
@@ -135,11 +135,11 @@ jobs:
- {"os": "ubuntu", "py": "cp312", "arch": "riscv64", "cipy": "3.11"}
- {"os": "ubuntu", "py": "cp313", "arch": "riscv64", "cipy": "3.11"}
- {"os": "ubuntu", "py": "cp314", "arch": "riscv64", "cipy": "3.11"}
- - {"os": "ubuntu-24.04-ppc64le", "py": "cp310", "arch": "ppc64le", "cipy": "3.11"}
- - {"os": "ubuntu-24.04-ppc64le", "py": "cp311", "arch": "ppc64le", "cipy": "3.11"}
- - {"os": "ubuntu-24.04-ppc64le", "py": "cp312", "arch": "ppc64le", "cipy": "3.11"}
- - {"os": "ubuntu-24.04-ppc64le", "py": "cp313", "arch": "ppc64le", "cipy": "3.11"}
- - {"os": "ubuntu-24.04-ppc64le", "py": "cp314", "arch": "ppc64le", "cipy": "3.11"}
+ - {"os": "ubuntu", "py": "cp310", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
+ - {"os": "ubuntu", "py": "cp311", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
+ - {"os": "ubuntu", "py": "cp312", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
+ - {"os": "ubuntu", "py": "cp313", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
+ - {"os": "ubuntu", "py": "cp314", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
- {"os": "macos", "py": "cp310", "arch": "arm64", "cipy": "3.11", "os-version": "14"}
- {"os": "macos", "py": "cp311", "arch": "arm64", "cipy": "3.11", "os-version": "14"}
- {"os": "macos", "py": "cp312", "arch": "arm64", "cipy": "3.11", "os-version": "14"}
@@ -164,7 +164,7 @@ jobs:
- {"os": "windows", "py": "cp312", "arch": "ARM64", "cipy": "3.11", "os-version": "11-arm"}
- {"os": "windows", "py": "cp313", "arch": "ARM64", "cipy": "3.11", "os-version": "11-arm"}
- {"os": "windows", "py": "cp314", "arch": "ARM64", "cipy": "3.11", "os-version": "11-arm"}
- # [[[end]]] (sum: GLlE/BLyNS)
+ # [[[end]]] (sum: AhCqn9SafY)
# ^^^^^^^^^^^^^^^
# If a check fails and points to this checksum line, it means you edited
# the matrix directly instead of editing the Python code in the comment
|
|
Looks good: it's now a nice tight change! Thanks. |
|
This is now released as part of coverage 7.13.4. |
This PR introduces initial support for the ppc64le (PowerPC 64-bit Little Endian) architecture in the GitHub Actions CI
🔧 Changes Made:
CI Workflow (.github/workflows/kit.yml)
Added ppc64le jobs to generate wheels that will be runs on ephemeral runners using labeled as ubuntu-24.04-ppc64le.
Testing Workflow (.github/workflows/testsuite.yml)
Added new test job to support ppc64le testing.