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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions