Repository navigation
ci: drop musl (Alpine) support, the build-piper-musl job and both musl assets (#26) - #27
Merged
s2x merged 5 commits intoOct 3, 2026
Conversation
Microsoft publishes no musl build of ONNX Runtime, which libpiper links, so there is nothing on Alpine to link libpiper against except a package from Alpine's own repository. The musl archives we did ship never worked: the libonnxruntime-linux-musl-x86_64.tar.gz published up to v0.2.0 holds a glibc library (libonnxruntime.so.1.22.0, versioned references to GLIBC_2.2 up to GLIBC_2.27), which the musl loader cannot resolve. Removed: the build-piper-musl job in ci.yml and release.yml with its needs entries, both musl release assets, the alpine container prose in docs/release-workflow.md, and the README instructions to install ONNX Runtime from the Alpine package. The README states the supported platform (Linux x86_64 with glibc) and the CHANGELOG gets a Removed entry with the reasons and what an Alpine user should do instead. Carried over from #22 (not the approach): the piper1-gpl bump v1.4.1 -> v1.8.0 and the espeak-ng data path change to share/espeak-ng-data.
s2x
deleted the
chore/issue-26-drop-musl-alpine-support-there-is-no-ups
branch
October 3, 2026 19:44
This was referenced Oct 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Removes musl (Alpine) support entirely: the
build-piper-musljob inci.ymlandrelease.yml(with its entries in theci-okandpublishneeds:lists), the two muslrelease assets, the
alpinecontainer prose indocs/release-workflow.md, the READMEinstructions to install ONNX Runtime from the Alpine package, and the musl job in
AGENTS.md.The README now states the supported platform (Linux x86_64 with glibc) and
CHANGELOG.mdgetsa
Removedentry with the reasons and what an Alpine user should do instead.Why: libpiper links ONNX Runtime and Microsoft publishes no musl build of it, so there is
nothing on Alpine to link libpiper against except a package from Alpine's own repository. The
musl archives we shipped never worked anyway:
libonnxruntime-linux-musl-x86_64.tar.gzup tov0.2.0 holds a glibc library (
GLIBC_2.2.5toGLIBC_2.27), which the musl loader cannotresolve.
Carried over from #22, which solved most of #21 with the rejected keep-musl approach: the
piper1-gplsubmodule bump v1.4.1 -> v1.8.0 and theespeak-ng-data->share/espeak-ng-datainstall path fix (the
test-integrationfailure on Dependabot PR #3). The Alpine-package partof #22 is not carried over.
Licensing is untouched: MIT for the PHP code, GPL-3.0 for libpiper and the espeak-ng data.
Closes #26
How it was tested
bin/lint.sh(composer validate/audit, php-cs-fixer, PHPStan, Rector, shellcheck) andvendor/bin/phpunit --testsuite unit(14 tests) in the worktree.src/PiperTTS.phpwas checked against the newpiper1-gpl/libpiper/include/piper.h:piper_audio_chunkandpiper_synthesize_optionskeep their field order and types,
piper_createis unchanged, and the new functions(
piper_create_with_options,piper_version) are additive, so the public PHP API does notchange.
make build-libs(libpiper v1.8.0 + ONNX Runtime 1.22.0,
libs/espeak-ng-datafrom the newshare/path),make test-model, unit suite 14/14 andvendor/bin/phpunit --group integration10/10.needs:exists as a job;ci-oklists every other job inci.yml. No test reads.github/workflows/, so no testasserted the old job list.
Checklist
CHANGELOG.mdupdated under[Unreleased]feat: ...,fix: ...)