ci: add armv6 (Raspberry Pi B/Zero) build support#1400
Open
b0bbywan wants to merge 4 commits intoSpotifyd:masterfrom
Open
ci: add armv6 (Raspberry Pi B/Zero) build support#1400b0bbywan wants to merge 4 commits intoSpotifyd:masterfrom
b0bbywan wants to merge 4 commits intoSpotifyd:masterfrom
Conversation
Cross-compilation via `cross` doesn't work for armv6 due to C dependencies (alsa, dbus, pulseaudio) and bindgen (aws-lc-rs). Instead, build natively under QEMU using a RaspiOS container, forcing the correct rustup host triple (arm-unknown-linux-gnueabihf) since QEMU reports armv7 by default. - Add .github/Dockerfile.armv6 for QEMU-native builds - Add armv6 to the CD matrix (linux only, slim/default/full) - Use docker buildx with GHA layer cache in the CD workflow
Author
|
#1389 this issue could be fixed in that PR, let me know ! |
…ildx aarch64 no longer uses ubuntu-22.04-arm; armv7 no longer uses `cross`. Both now build via docker buildx + QEMU like armv6, using docker_platform matrix entries. Artifact upload path also cleaned up (no more matrix.target). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Generates a .deb per arch (amd64, arm64, armhf, armel) after each Linux build, with the user systemd service installed in /usr/lib/systemd/user/. Version is derived from the git tag; falls back to 0.0.0+<sha> on master. .deb artifacts are published directly in GitHub releases alongside tar.gz. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.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.
Spotifyd dropped support for armhf after v0.3.5. This intends to bring it back
Cross-compilation via
crossdoesn't work for armv6 due to C dependencies (alsa, dbus, pulseaudio) and bindgen (aws-lc-rs). Instead, build natively under QEMU using a RaspiOS container, forcing the correct rustup host triple (arm-unknown-linux-gnueabihf) since QEMU reports armv7 by default.I've successfully tested the slim and full builds on Raspberry B and B+. The first build time is quite long (more than one hour) due to QEMU virtualization. It uses a rust cache to speedup a bit. We could also push the build image on ghcr to gain a little time.
Let me know if that's ok with you or if I need to make some change.
Thanks for spotifyd !