Skip to content

[FEATURE] Publish PyPy musllinux wheels (Alpine / musl libc) #1906

Description

@oberstet

Follow-up to #1877, which added CPython 3.11–3.14 musllinux_1_2 wheels. PyPy-on-musl
was deferred there because there is no official pypa musllinux PyPy image.

Why it was deferred

  • The quay.io/pypa/musllinux_1_2_{x86_64,aarch64} images ship only CPython under
    /opt/python (3.9–3.15 + free-threaded variants) — no PyPy (verified locally on
    asgard1 while implementing [ENHANCEMENT] Publish musllinux wheels (Alpine / musl libc) #1877).
  • The existing PyPy manylinux aarch64 wheels are built from custom images
    (docker/Dockerfile.pypy-bookworm-manylinux-arm64, …trixie…, FROM pypy:3.11-*,
    Debian/glibc). A musllinux PyPy build needs equivalent Alpine-based custom images.

Scope

Publish pp311 musllinux_1_2 wheels (x86_64 + aarch64) for PyPy 3.11, matching the
CPython musllinux coverage from #1877.

Tasks

  • Add custom musllinux PyPy Dockerfile(s) under docker/ (Alpine + PyPy 3.11 + build-base
    • patchelf + auditwheel), mirroring the manylinux PyPy Dockerfiles.
  • Add matrix entries (build_type: custom) to wheels-docker.yml (x86_64) and
    wheels-arm64.yml (aarch64) using those images.
  • Verify the NVX CFFI extension builds on PyPy-musl (and re-check the PyPy-specific
    PYUBJSON_NO_EXTENSION / build-tools handling used by the manylinux PyPy path).
  • Wire release.yml artifacts + add pp311-linux-<arch>-musllinux_1_2 fileset targets.
  • Update docs/wheels-inventory.rst.

Related


Note: This work was drafted with AI assistance (Claude Code). Initiated and reviewed by me.

Checklist

  • I have searched existing issues to avoid duplicates
  • I have described the problem clearly
  • I have provided use cases
  • I have considered alternatives
  • I have assessed impact and breaking changes

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions