Skip to content

fixes #13080 -- test and build wheels for musl armv7l #13081

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,7 @@ jobs:
IMAGE:
- {IMAGE: "alpine", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
- {IMAGE: "alpine:aarch64", NOXSESSION: "tests", RUNNER: "ubuntu-24.04-arm"}
- {IMAGE: "alpine:armv7l", NOXSESSION: "tests", RUNNER: "ubuntu-24.04-arm"}
timeout-minutes: 15
env:
RUSTUP_HOME: /root/.rustup
Expand All @@ -236,7 +237,7 @@ jobs:
# then use a glibc nodejs, which works fine when gcompat
# is installed in the container (which it is)
sed -i "s:ID=alpine:ID=NotpineForGHA:" /etc/os-release
if: matrix.IMAGE.IMAGE == 'alpine:aarch64'
if: matrix.IMAGE.IMAGE == 'alpine:aarch64' || matrix.IMAGE.IMAGE == 'alpine:armv7l'

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
timeout-minutes: 3
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/wheel-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ jobs:
- { NAME: "musllinux_1_2_aarch64", CONTAINER: "cryptography-musllinux_1_2:aarch64", RUNNER: "ubuntu-24.04-arm" }

- { NAME: "manylinux_2_31_armv7l", CONTAINER: "cryptography-manylinux_2_31:armv7l", RUNNER: "ubuntu-24.04-arm" }
- { NAME: "musllinux_1_2_armv7l", CONTAINER: "cryptography-musllinux_1_2:armv7l", RUNNER: "ubuntu-24.04-arm" }
exclude:
# There are no readily available musllinux PyPy distributions
- PYTHON: { VERSION: "pp310-pypy310_pp73" }
Expand All @@ -107,6 +108,10 @@ jobs:
MANYLINUX: { NAME: "manylinux_2_31_armv7l", CONTAINER: "cryptography-manylinux_2_31:armv7l", RUNNER: "ubuntu-24.04-arm" }
- PYTHON: { VERSION: "pp311-pypy311_pp73" }
MANYLINUX: { NAME: "manylinux_2_31_armv7l", CONTAINER: "cryptography-manylinux_2_31:armv7l", RUNNER: "ubuntu-24.04-arm" }
- PYTHON: { VERSION: "pp310-pypy310_pp73" }
MANYLINUX: { NAME: "musllinux_1_2_armv7l", CONTAINER: "cryptography-musllinux_1_2:armv7l", RUNNER: "ubuntu-24.04-arm" }
- PYTHON: { VERSION: "pp311-pypy311_pp73" }
MANYLINUX: { NAME: "musllinux_1_2_armv7l", CONTAINER: "cryptography-musllinux_1_2:armv7l", RUNNER: "ubuntu-24.04-arm" }
name: "${{ matrix.PYTHON.VERSION }} for ${{ matrix.MANYLINUX.NAME }}"
steps:
- name: Ridiculous-er workaround for static node20
Expand All @@ -119,7 +124,7 @@ jobs:
# then use a glibc nodejs, which works fine when gcompat
# is installed in the container (which it is)
sed -i "s:ID=alpine:ID=NotpineForGHA:" /etc/os-release
if: startsWith(matrix.MANYLINUX.NAME, 'musllinux') && endsWith(matrix.MANYLINUX.NAME, 'aarch64')
if: startsWith(matrix.MANYLINUX.NAME, 'musllinux') && (endsWith(matrix.MANYLINUX.NAME, 'aarch64') || endswith(matrix.MANYLINUX.NAME, 'armv7l'))

- name: Get build-requirements.txt from repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
Expand Down
2 changes: 1 addition & 1 deletion docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ operating systems.
* ARMv7l Ubuntu rolling
* x86-64 Debian Bullseye (11.x), Bookworm (12.x), Trixie (13.x), and
Sid (unstable)
* x86-64 and ARM64 Alpine (latest)
* x86-64, ARM64, and ARMv7l Alpine (latest)
* 32-bit and 64-bit Python on 64-bit Windows Server 2022

We test compiling with ``clang`` as well as ``gcc`` and use the following
Expand Down
Loading