Add musllinux wheel packaging for Alpine - #1
Conversation
|
Ready to squash-merge. Org ruleset Company wide SDLC/SOC-2 requires 1 approving review ( Please approve, then squash-merge (single commit on Contents:
|
55dff56 to
a869f68
Compare
PR SummaryLow Risk Overview
Upstream Adobe workflows ( Reviewed by Cursor Bugbot for commit 93d1b24. Bugbot is set up for automated code reviews on this repo. Configure here. |
Build and publish musllinux wheels from this fork; disable unused upstream Actions; document in MUSLLINUX.md. Co-authored-by: Cursor <cursoragent@cursor.com>
3a743cc to
93d1b24
Compare
|
Superseded by a PR from branch |
Why
Upstream contentauth/c2pa-python only publishes manylinux (glibc) wheels. Alpine (musl) cannot load those wheels; the sdist pulls gnu natives that fail at
dlopen; compiling Rust inside every image build is too slow.This fork ships musllinux wheels so Alpine can
import c2pawithout a per-image Rust compile. The Python API is unchanged. macOS and glibc Linux keep using PyPI.Divergence is kept small: one build script, one workflow,
MUSLLINUX.md, and disabled unused Adobe Actions so musl tags do not fan out into their Build/PyPI/Pages/Jira matrix.What
scripts/build_musllinux_wheel.sh— buildmusllinux_1_2_x86_64inpython:3.14-alpine.github/workflows/build-musllinux-wheel.yml— CI + GitHub Release onv*-musl*tagsMUSLLINUX.md— why this fork exists + how to upgradeworkflow_dispatchonly)Consume
Do not pin a direct musllinux wheel URL (forces one platform everywhere).
Test plan
python:3.14-alpine→import c2pa+Context()OKv0.37.1-musl.1published with wheel assetworkflow_dispatch