ci: add a musl (Alpine) build job - #178
Open
JacksonBopp wants to merge 1 commit into
Open
Conversation
Add a job that builds and tests mctp inside an Alpine Linux container, to catch musl portability issues in CI before they surface during the meta-openembedded bump process (CodeConstruct#126). Modeled on the existing no-libsystemd job: Alpine doesn't have libsystemd, so the same meson dependency check that already gates the dbus-based tests keeps this job to the plain test-mctp suite, matching what it can actually exercise without dbus. Verified locally in an alpine:latest container: configure, build, and test all pass (7/7 subtests in test-mctp), with libsystemd and libcap correctly reported as not found. Signed-off-by: Jackson Bopp <boppjackson@gmail.com>
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.
Summary
Adds a job that builds and tests mctp inside an
alpine:latestcontainer, to catch musl portability issues in CI before they affect the meta-openembedded bump process, as requested in #126.It's modeled on the existing
no-libsystemdjob: Alpine doesn't ship libsystemd, so the same meson dependency check that already gates the dbus-based tests (test-mctpd,test-mctpd-endpoint) keeps this job to the plaintest-mctpsuite, which is what it can actually exercise without dbus.Test plan
Verified locally in a real
alpine:latestcontainer (not just reasoning about it):apk add build-base linux-headers meson ninja git py3-pipinstalls cleanlypip install -r tests/requirements.txtinstalls cleanly (ruff ships a musllinux wheel, the rest are pure Python or build from sdist without issue)meson setup buildconfigures cleanly, correctly reportslibsystemd/libcapas not foundmeson compile -C buildbuilds all 6 targets with no errorsmeson test -C build --verbosepasses 7/7 subtests intest-mctpAlso added a CHANGELOG entry following the existing convention.